Class BigQueryDestination
A BigQuery destination for exporting assets to.
Implements
Inherited Members
Namespace: Google.Apis.CloudAsset.v1.Data
Assembly: Google.Apis.CloudAsset.v1.dll
Syntax
public class BigQueryDestination : IDirectResponseSchema
Properties
Dataset
Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", to which the snapshot
result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT
error. Setting the contentType
for exportAssets
determines the
schema of the BigQuery table. Setting
separateTablesPerAssetType
to TRUE
also influences the schema.
Declaration
[JsonProperty("dataset")]
public virtual string Dataset { get; set; }
Property Value
Type | Description |
---|---|
string |
ETag
The ETag of the item.
Declaration
public virtual string ETag { get; set; }
Property Value
Type | Description |
---|---|
string |
Force
If the destination table already exists and this flag is TRUE
, the table will be overwritten by the
contents of assets snapshot. If the flag is FALSE
or unset and the destination table already exists, the
export call returns an INVALID_ARGUMEMT error.
Declaration
[JsonProperty("force")]
public virtual bool? Force { get; set; }
Property Value
Type | Description |
---|---|
bool? |
PartitionSpec
[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If
[partition_spec] is unset or [partition_spec.partition_key] is unset or PARTITION_KEY_UNSPECIFIED
, the
snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite
existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to
partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be
the partition key. Secondly, in the case when any destination table already exists, it will first try to
update existing table's schema as necessary by appending additional columns. Then, if [force] is TRUE
, the
corresponding partition will be overwritten by the snapshot results (data in different partitions will
remain intact); if [force] is unset or FALSE
, it will append the data. An error will be returned if the
schema update or data appension fails.
Declaration
[JsonProperty("partitionSpec")]
public virtual PartitionSpec PartitionSpec { get; set; }
Property Value
Type | Description |
---|---|
PartitionSpec |
SeparateTablesPerAssetType
If this flag is TRUE
, the snapshot results will be written to one or multiple tables, each of which
contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them.
Field [table] will be concatenated with "" and the asset type names (see
https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct
per-asset-type table names, in which all non-alphanumeric characters like "." and "/" will be substituted by
"". Example: if field [table] is "mytable" and snapshot results contain "storage.googleapis.com/Bucket"
assets, the corresponding table name will be "mytable_storage_googleapis_com_Bucket". If any of these tables
does not exist, a new table with the concatenated name will be created. When [content_type] in the
ExportAssetsRequest is RESOURCE
, the schema of each table will include RECORD-type columns mapped to the
nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery
supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in >15
nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error
occurs when exporting to any table, the whole export call will return an error but the export results that
already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B
fails during one export call, the results in table_type_A will persist and there will not be partial results
persisting in a table.
Declaration
[JsonProperty("separateTablesPerAssetType")]
public virtual bool? SeparateTablesPerAssetType { get; set; }
Property Value
Type | Description |
---|---|
bool? |
Table
Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.
Declaration
[JsonProperty("table")]
public virtual string Table { get; set; }
Property Value
Type | Description |
---|---|
string |