class Google::Apis::CloudassetV1::BigQueryDestination

A BigQuery destination for exporting assets to.

Attributes

dataset[RW]

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. Corresponds to the JSON property `dataset` @return [String]

force[RW]

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. Corresponds to the JSON property `force` @return [Boolean]

force?[RW]

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. Corresponds to the JSON property `force` @return [Boolean]

partition_spec[RW]

Specifications of BigQuery partitioned table as export destination. Corresponds to the JSON property `partitionSpec` @return [Google::Apis::CloudassetV1::PartitionSpec]

separate_tables_per_asset_type[RW]

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 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 (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. Corresponds to the JSON property `separateTablesPerAssetType` @return [Boolean]

separate_tables_per_asset_type?[RW]

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 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 (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. Corresponds to the JSON property `separateTablesPerAssetType` @return [Boolean]

table[RW]

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. Corresponds to the JSON property `table` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/cloudasset_v1/classes.rb, line 493
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/cloudasset_v1/classes.rb, line 498
def update!(**args)
  @dataset = args[:dataset] if args.key?(:dataset)
  @force = args[:force] if args.key?(:force)
  @partition_spec = args[:partition_spec] if args.key?(:partition_spec)
  @separate_tables_per_asset_type = args[:separate_tables_per_asset_type] if args.key?(:separate_tables_per_asset_type)
  @table = args[:table] if args.key?(:table)
end