public Action<JobConfigurationLoad> ConfigurationModifier { get; set; }
Optional action to perform after preparing the request. If this property is non-null,
the JobConfigurationLoad used for a request will be passed to the delegate
before the request is executed. This allows for fine-grained modifications which aren't
otherwise directly supported by the properties in this options type.
Prefer the properties on this type over this modifier to prepare the request.
Only use this modifier to configure aspects for which there are no properties available.
This modifier is applied to the request after all properties on this type have been applied.
The delegate is only called once per operation, even if the request is automatically retried.
CreateDisposition
public CreateDisposition? CreateDisposition { get; set; }
Specifies whether the operation is allowed to create new tables.
If not set, this is effectively CreateIfNeeded.
public SchemaUpdateOption? DestinationSchemaUpdateOptions { get; set; }
Allows the schema of the destination table to be updated as a side effect
of the load job if a schema is autodetected or supplied in the job configuration.
Schema update options are supported in two cases:
when WriteDisposition is WriteAppend;
when WriteDisposition is WriteTruncate
and the destination table is a partition of a table, specified by partition decorators.
SchemaUpdateOption is marked with the FlagsAttribute
so several flags can be specified.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eUploadJsonOptions\u003c/code\u003e class in the Google BigQuery v2 API provides configuration options for \u003ccode\u003eUploadJson\u003c/code\u003e operations, extending from \u003ccode\u003eJobCreationOptions\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThis class includes properties to manage how data is loaded into BigQuery, such as \u003ccode\u003eAllowUnknownFields\u003c/code\u003e, \u003ccode\u003eAutodetect\u003c/code\u003e, \u003ccode\u003eCreateDisposition\u003c/code\u003e, \u003ccode\u003eWriteDisposition\u003c/code\u003e, and \u003ccode\u003eMaxBadRecords\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class also supports advanced settings like \u003ccode\u003eConfigurationModifier\u003c/code\u003e for detailed request modification and allows setting up \u003ccode\u003eDestinationEncryptionConfiguration\u003c/code\u003e and \u003ccode\u003eTimePartitioning\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eYou can choose to handle schema updates using \u003ccode\u003eDestinationSchemaUpdateOptions\u003c/code\u003e during load jobs when appending to or truncating partitioned tables.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUploadJsonOptions\u003c/code\u003e class is part of the Google.Cloud.BigQuery.V2 namespace, within the Google.Cloud.BigQuery.V2.dll assembly, with the latest version being 3.11.0, and it includes options to specify behavior when tables are created or if they exist.\u003c/p\u003e\n"]]],[],null,["# Google BigQuery v2 API - Class UploadJsonOptions (3.11.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.11.0 (latest)](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.10.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.9.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.8.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.7.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.6.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.5.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.4.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.3.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.2.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.1.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.0.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.4.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.3.0/Google.Cloud.BigQuery.V2.UploadJsonOptions)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.2.0/Google.Cloud.BigQuery.V2.UploadJsonOptions) \n\n public sealed class UploadJsonOptions : JobCreationOptions\n\nReference documentation and code samples for the Google BigQuery v2 API class UploadJsonOptions.\n\nOptions for `UploadJson` operations. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e [JobCreationOptions](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions) \\\u003e UploadJsonOptions \n\nInherited Members\n-----------------\n\n[JobCreationOptions.ProjectId](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions#Google_Cloud_BigQuery_V2_JobCreationOptions_ProjectId) \n[JobCreationOptions.JobIdPrefix](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions#Google_Cloud_BigQuery_V2_JobCreationOptions_JobIdPrefix) \n[JobCreationOptions.JobId](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions#Google_Cloud_BigQuery_V2_JobCreationOptions_JobId) \n[JobCreationOptions.JobLocation](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions#Google_Cloud_BigQuery_V2_JobCreationOptions_JobLocation) \n[JobCreationOptions.Labels](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.JobCreationOptions#Google_Cloud_BigQuery_V2_JobCreationOptions_Labels) \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.BigQuery.V2](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2)\n\nAssembly\n--------\n\nGoogle.Cloud.BigQuery.V2.dll\n\nProperties\n----------\n\n### AllowUnknownFields\n\n public bool? AllowUnknownFields { get; set; }\n\nWhether or not to accept rows with fields that are not specified in the schema,\nignoring the extra fields.\nIf not set, this is effectively false.\n\n### Autodetect\n\n public bool? Autodetect { get; set; }\n\nSpecifies whether or not the options (including schema) should automatically be inferred.\nIf not set, this is effectively false.\n\n### ConfigurationModifier\n\n public Action\u003cJobConfigurationLoad\u003e ConfigurationModifier { get; set; }\n\nOptional action to perform after preparing the request. If this property is non-null,\nthe [JobConfigurationLoad](https://googleapis.dev/dotnet/Google.Apis.Bigquery.v2/1.68.0.3400/api/Google.Apis.Bigquery.v2.Data.JobConfigurationLoad.html) used for a request will be passed to the delegate\nbefore the request is executed. This allows for fine-grained modifications which aren't\notherwise directly supported by the properties in this options type.\n\n**Remarks** \nPrefer the properties on this type over this modifier to prepare the request.\nOnly use this modifier to configure aspects for which there are no properties available.\nThis modifier is applied to the request after all properties on this type have been applied.\nThe delegate is only called once per operation, even if the request is automatically retried.\n\n### CreateDisposition\n\n public CreateDisposition? CreateDisposition { get; set; }\n\nSpecifies whether the operation is allowed to create new tables.\nIf not set, this is effectively [CreateIfNeeded](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.CreateDisposition#Google_Cloud_BigQuery_V2_CreateDisposition_CreateIfNeeded).\n\n### DestinationEncryptionConfiguration\n\n public EncryptionConfiguration DestinationEncryptionConfiguration { get; set; }\n\nThe encryption configuration to apply to the destination table, if any.\n\n### DestinationSchemaUpdateOptions\n\n public SchemaUpdateOption? DestinationSchemaUpdateOptions { get; set; }\n\nAllows the schema of the destination table to be updated as a side effect\nof the load job if a schema is autodetected or supplied in the job configuration.\nSchema update options are supported in two cases:\nwhen [WriteDisposition](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadJsonOptions#Google_Cloud_BigQuery_V2_UploadJsonOptions_WriteDisposition) is [WriteAppend](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.WriteDisposition#Google_Cloud_BigQuery_V2_WriteDisposition_WriteAppend);\nwhen [WriteDisposition](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadJsonOptions#Google_Cloud_BigQuery_V2_UploadJsonOptions_WriteDisposition) is [WriteTruncate](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.WriteDisposition#Google_Cloud_BigQuery_V2_WriteDisposition_WriteTruncate)\nand the destination table is a partition of a table, specified by partition decorators.\n[SchemaUpdateOption](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.SchemaUpdateOption) is marked with the [FlagsAttribute](https://learn.microsoft.com/dotnet/api/system.flagsattribute)\nso several flags can be specified.\n\n### MaxBadRecords\n\n public int? MaxBadRecords { get; set; }\n\nThe maximum number of bad records that are ignored before the overall job fails.\nIf not set, this is effectively 0.\n\n### TimePartitioning\n\n public TimePartitioning TimePartitioning { get; set; }\n\nThe time partitioning to apply, if any. See [TimePartition](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.TimePartition) to create instances of [TimePartitioning](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadJsonOptions#Google_Cloud_BigQuery_V2_UploadJsonOptions_TimePartitioning).\n\n### WriteDisposition\n\n public WriteDisposition? WriteDisposition { get; set; }\n\nSpecifies the behavior if the destination table exists.\nIf not set, this is effectively [WriteAppend](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.WriteDisposition#Google_Cloud_BigQuery_V2_WriteDisposition_WriteAppend)."]]