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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides comprehensive reference information for the \u003ccode\u003eUploadCsvOptions\u003c/code\u003e class within the Google BigQuery v2 API for .NET, detailing how to configure CSV data upload operations.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUploadCsvOptions\u003c/code\u003e class extends \u003ccode\u003eJobCreationOptions\u003c/code\u003e and includes properties to control various aspects of the CSV upload, such as handling jagged rows, quoted newlines, field delimiters, null markers, and data encoding.\u003c/p\u003e\n"],["\u003cp\u003eKey properties allow users to specify behaviors like creating or overwriting tables (\u003ccode\u003eCreateDisposition\u003c/code\u003e, \u003ccode\u003eWriteDisposition\u003c/code\u003e), defining schema update options, setting destination encryption configurations, and configuring time partitioning.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes an \u003ccode\u003eConfigurationModifier\u003c/code\u003e property, which is a delegate to provide fine-grained control over the request configuration not covered by the other properties, but its use is discouraged if there is a property that already covers that specification.\u003c/p\u003e\n"],["\u003cp\u003eThe document highlights the availability of different versions of the \u003ccode\u003eUploadCsvOptions\u003c/code\u003e documentation, ranging from the latest version 3.11.0 down to version 2.2.0, all with relevant links to their respective pages.\u003c/p\u003e\n"]]],[],null,["# Google BigQuery v2 API - Class UploadCsvOptions (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.UploadCsvOptions)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.10.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.9.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.8.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.7.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.6.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.5.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.4.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.3.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.2.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.1.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/3.0.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.4.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.3.0/Google.Cloud.BigQuery.V2.UploadCsvOptions)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/2.2.0/Google.Cloud.BigQuery.V2.UploadCsvOptions) \n\n public sealed class UploadCsvOptions : JobCreationOptions\n\nReference documentation and code samples for the Google BigQuery v2 API class UploadCsvOptions.\n\nOptions for `UploadCsv` 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 UploadCsvOptions \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### AllowJaggedRows\n\n public bool? AllowJaggedRows { get; set; }\n\nWhether or not to accept rows missing trailing optional columns.\nIf not set, this is effectively false.\n\n### AllowQuotedNewlines\n\n public bool? AllowQuotedNewlines { get; set; }\n\nIndicates if quoted data sections can contain newline characters.\nIf not set, this is effectively false.\n\n### AllowTrailingColumns\n\n public bool? AllowTrailingColumns { get; set; }\n\nWhether or not to accept rows with more columns than are specified in the schema.\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.UploadCsvOptions#Google_Cloud_BigQuery_V2_UploadCsvOptions_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.UploadCsvOptions#Google_Cloud_BigQuery_V2_UploadCsvOptions_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### Encoding\n\n public string Encoding { get; set; }\n\nThe character encoding of the data. The default value is UTF-8. BigQuery decodes the data after the\nraw, binary data has been split using the values of the [Quote](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadCsvOptions#Google_Cloud_BigQuery_V2_UploadCsvOptions_Quote) and [FieldDelimiter](/dotnet/docs/reference/Google.Cloud.BigQuery.V2/latest/Google.Cloud.BigQuery.V2.UploadCsvOptions#Google_Cloud_BigQuery_V2_UploadCsvOptions_FieldDelimiter)\nproperties.\nSee \u003chttps://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationLoad.FIELDS.encoding\u003e for more details.\n\n### FieldDelimiter\n\n public string FieldDelimiter { get; set; }\n\nThe delimiter between fields in the data.\nIf not set, a comma (,) is used.\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### NullMarker\n\n public string NullMarker { get; set; }\n\nSpecifies a string that represents a null value in a CSV file.\nIf not set, this is effectively the empty string.\n\n### Quote\n\n public string Quote { get; set; }\n\nThe value used to quote data sections in a CSV file.\nIf not set, a double quote (\") is used.\n\n### SkipLeadingRows\n\n public int? SkipLeadingRows { get; set; }\n\nThe number of rows to skip, usually for headers.\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.UploadCsvOptions#Google_Cloud_BigQuery_V2_UploadCsvOptions_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)."]]