|
32 | 32 | from google.cloud.bigquery.query import ConnectionProperty
|
33 | 33 |
|
34 | 34 |
|
| 35 | +class ColumnNameCharacterMap: |
| 36 | + """Indicates the character map used for column names. |
| 37 | +
|
| 38 | + https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#columnnamecharactermap |
| 39 | + """ |
| 40 | + |
| 41 | + COLUMN_NAME_CHARACTER_MAP_UNSPECIFIED = "COLUMN_NAME_CHARACTER_MAP_UNSPECIFIED" |
| 42 | + """Unspecified column name character map.""" |
| 43 | + |
| 44 | + STRICT = "STRICT" |
| 45 | + """Support flexible column name and reject invalid column names.""" |
| 46 | + |
| 47 | + V1 = "V1" |
| 48 | + """ Support alphanumeric + underscore characters and names must start with |
| 49 | + a letter or underscore. Invalid column names will be normalized.""" |
| 50 | + |
| 51 | + V2 = "V2" |
| 52 | + """Support flexible column name. Invalid column names will be normalized.""" |
| 53 | + |
| 54 | + |
35 | 55 | class LoadJobConfig(_JobConfig):
|
36 | 56 | """Configuration options for load jobs.
|
37 | 57 |
|
@@ -597,6 +617,27 @@ def parquet_options(self, value):
|
597 | 617 | else:
|
598 | 618 | self._del_sub_prop("parquetOptions")
|
599 | 619 |
|
| 620 | + @property |
| 621 | + def column_name_character_map(self) -> str: |
| 622 | + """Optional[google.cloud.bigquery.job.ColumnNameCharacterMap]: |
| 623 | + Character map supported for column names in CSV/Parquet loads. Defaults |
| 624 | + to STRICT and can be overridden by Project Config Service. Using this |
| 625 | + option with unsupported load formats will result in an error. |
| 626 | +
|
| 627 | + See |
| 628 | + https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#JobConfigurationLoad.FIELDS.column_name_character_map |
| 629 | + """ |
| 630 | + return self._get_sub_prop( |
| 631 | + "columnNameCharacterMap", |
| 632 | + ColumnNameCharacterMap.COLUMN_NAME_CHARACTER_MAP_UNSPECIFIED, |
| 633 | + ) |
| 634 | + |
| 635 | + @column_name_character_map.setter |
| 636 | + def column_name_character_map(self, value: Optional[str]): |
| 637 | + if value is None: |
| 638 | + value = ColumnNameCharacterMap.COLUMN_NAME_CHARACTER_MAP_UNSPECIFIED |
| 639 | + self._set_sub_prop("columnNameCharacterMap", value) |
| 640 | + |
600 | 641 |
|
601 | 642 | class LoadJob(_AsyncJob):
|
602 | 643 | """Asynchronous job for loading data into a table.
|
|
0 commit comments