In diesem Dokument erfahren Sie, wie Sie einen Asset-Snapshot aus Ihrer Organisation, Ihrem Ordner oder Ihrem Projekt in eine BigQuery exportieren und dann Datenanalysen für Ihr Inventar durchführen. BigQuery bietet eine SQL-ähnliche Erfahrung, in der Nutzer Daten analysieren und wertvolle Informationen gewinnen können, ohne benutzerdefinierte Skripts zu verwenden.
Hinweise
Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie Cloud Asset Inventory-Befehle ausführen.
Prüfen Sie, ob Ihr Konto die richtige Rolle zum Aufrufen der Cloud Asset Inventory API hat. Informationen zu den einzelnen Berechtigungen für die einzelnen Anruftypen finden Sie unter Berechtigungen.
Erstellen Sie ein BigQuery-Dataset für den Export, falls Sie noch keines haben.
Beschränkungen
Beim Exportieren von BigQuery-Tabellendaten werden nicht alle Felder von Cloud Asset Inventory unterstützt.
Häufig geänderte Asset-Felder wie
numBytes,numLongTermBytes,numPhysicalBytesundnumRowswerden möglicherweise mit dem Wertnullexportiert.Der Export in geclusterte BigQuery-Tabellen wird nicht unterstützt.
Das Anfügen einer Exportausgabe an eine vorhandene Tabelle wird nur unterstützt, wenn Sie in eine partitionierte Tabelle exportieren. Die Zieltabelle muss leer sein oder muss überschrieben werden. Verwenden Sie zum Überschreiben das Flag
--output-bigquery-forcemit der gcloud CLI oder"force": truemit der REST API.Google Kubernetes Engine-Ressourcentypen (GKE), mit Ausnahme von
container.googleapis.com/Clusterundcontainer.googleapis.com/NodePool, werden beim Exportieren in separate Tabellen für jeden Ressourcentyp nicht unterstützt.Cloud Asset Inventory lehnt Exportanfragen ab, wenn eine vorherige Anfrage für dasselbe Ziel vor weniger als 15 Minuten gestartet wurde und noch ausgeführt wird. Wenn ein Export jedoch länger als 15 Minuten gedauert hat, wird er als abgeschlossen markiert und neue Exportanfragen für dasselbe Ziel sind zulässig.
Der Inhaltstyp
ACCESS_POLICYkann nur auf Organisationsebene exportiert werden.Wenn die Tabelle, in die Sie exportieren, bereits vorhanden ist und gerade in sie exportiert wird, wird ein
400-Fehler zurückgegeben.
Gehäuse
Für Feldnamen werden je nach angefordertem Inhaltstyp und Exporteinstellungen unterschiedliche Schreibweisen verwendet:
Beim Export von Assets in Tabellen nach Asset-Typ für den Inhaltstyp
RESOURCEgibt es keine Leerzeichen zwischen Wörtern und der erste Buchstabe jedes neuen Wortes nach dem ersten wird großgeschrieben. Zum BeispielassetType.Bei allen anderen Inhaltstypen ist der Feldname in Kleinbuchstaben geschrieben und Leerzeichen werden durch Unterstriche ersetzt. Beispiel:
asset_type.
BigQuery-Schemas für den Export
Jede BigQuery-Tabelle wird durch ein Schema definiert, das unter anderem Informationen zu Spaltennamen und Datentypen enthält. Wenn Sie den Inhaltstyp für einen Export festlegen, wird das Schema für die Tabelle bestimmt:
Ressource oder nicht angegeben:Wenn Sie den Inhaltstyp auf
RESOURCEsetzen oder nicht angeben und das Flagper-asset-typeauffalsesetzen oder nicht verwenden, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.Ressourcenschema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "version", "type": "STRING" }, { "mode": "NULLABLE", "name": "discovery_document_uri", "type": "STRING" }, { "mode": "NULLABLE", "name": "discovery_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "resource_url", "type": "STRING" }, { "mode": "NULLABLE", "name": "parent", "type": "STRING" }, { "mode": "NULLABLE", "name": "data", "type": "STRING" }, { "mode": "NULLABLE", "name": "location", "type": "STRING" } ], "mode": "NULLABLE", "name": "resource", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
Die Spalte
resource.dataenthält die Ressourcenmetadaten als JSON-String.Wenn Sie den Inhaltstyp auf
RESOURCEfestlegen oder nicht festlegen und das Flagper-asset-typeauftruesetzen, erstellen Sie separate Tabellen für jeden Asset-Typ. Das Schema jeder Tabelle enthält Spalten vom Typ RECORD, die den verschachtelten Feldern im FeldResource.datadieses Asset-Typs zugeordnet sind (bis zu 15 Ebenen von BigQuery unterstützten verschachtelten Ebenen). Beispieltabellen finden Sie in der Google Cloud Console unter export-assets-examples.IAM-Richtlinie:Wenn Sie den Inhaltstyp
IAM_POLICYin der REST API oderiam-policyin der gcloud CLI festlegen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.IAM-Richtlinienschema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "version", "type": "INTEGER" }, { "fields": [ { "mode": "NULLABLE", "name": "role", "type": "STRING" }, { "mode": "REPEATED", "name": "members", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "expression", "type": "STRING" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "location", "type": "STRING" } ], "mode": "NULLABLE", "name": "condition", "type": "RECORD" } ], "mode": "REPEATED", "name": "bindings", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "service", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "log_type", "type": "INTEGER" }, { "mode": "REPEATED", "name": "exempted_members", "type": "STRING" } ], "mode": "REPEATED", "name": "audit_log_configs", "type": "RECORD" } ], "mode": "REPEATED", "name": "audit_configs", "type": "RECORD" }, { "mode": "NULLABLE", "name": "etag", "type": "STRING" } ], "mode": "NULLABLE", "name": "iam_policy", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
Organisationsrichtlinie:Wenn Sie den Inhaltstyp auf
ORG_POLICYin der REST API oder auforg-policyin der gcloud CLI festlegen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.Organisationsrichtlinienschema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "version", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "constraint", "type": "STRING" }, { "mode": "NULLABLE", "name": "etag", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" }, { "fields": [ { "mode": "REPEATED", "name": "allowed_values", "type": "STRING" }, { "mode": "REPEATED", "name": "denied_values", "type": "STRING" }, { "mode": "NULLABLE", "name": "all_values", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "suggested_value", "type": "STRING" }, { "mode": "NULLABLE", "name": "inherit_from_parent", "type": "BOOLEAN" } ], "mode": "NULLABLE", "name": "list_policy", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "enforced", "type": "BOOLEAN" } ], "mode": "NULLABLE", "name": "boolean_policy", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "_present", "type": "BOOLEAN" } ], "mode": "NULLABLE", "name": "restore_default", "type": "RECORD" } ], "mode": "REPEATED", "name": "org_policy", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
VPCSC-Richtlinie:Wenn Sie den Inhaltstyp auf
ACCESS_POLICYin der REST API oderaccess-policyin der gcloud CLI festlegen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.VPCSC-Richtlinienschema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "parent", "type": "STRING" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "REPEATED", "name": "scopes", "type": "STRING" }, { "mode": "NULLABLE", "name": "etag", "type": "STRING" } ], "mode": "NULLABLE", "name": "access_policy", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "fields": [ { "fields": [ { "mode": "REPEATED", "name": "ip_subnetworks", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "require_screenlock", "type": "BOOLEAN" }, { "mode": "REPEATED", "name": "allowed_encryption_statuses", "type": "INTEGER" }, { "fields": [ { "mode": "NULLABLE", "name": "os_type", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "minimum_version", "type": "STRING" }, { "mode": "NULLABLE", "name": "require_verified_chrome_os", "type": "BOOLEAN" } ], "mode": "REPEATED", "name": "os_constraints", "type": "RECORD" }, { "mode": "REPEATED", "name": "allowed_device_management_levels", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "require_admin_approval", "type": "BOOLEAN" }, { "mode": "NULLABLE", "name": "require_corp_owned", "type": "BOOLEAN" } ], "mode": "NULLABLE", "name": "device_policy", "type": "RECORD" }, { "mode": "REPEATED", "name": "required_access_levels", "type": "STRING" }, { "mode": "NULLABLE", "name": "negate", "type": "BOOLEAN" }, { "mode": "REPEATED", "name": "members", "type": "STRING" }, { "mode": "REPEATED", "name": "regions", "type": "STRING" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "network", "type": "STRING" }, { "mode": "REPEATED", "name": "vpc_ip_subnetworks", "type": "STRING" } ], "mode": "NULLABLE", "name": "vpc_subnetwork", "type": "RECORD" } ], "mode": "REPEATED", "name": "vpc_network_sources", "type": "RECORD" } ], "mode": "REPEATED", "name": "conditions", "type": "RECORD" }, { "mode": "NULLABLE", "name": "combining_function", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "basic", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "expression", "type": "STRING" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "location", "type": "STRING" } ], "mode": "NULLABLE", "name": "expr", "type": "RECORD" } ], "mode": "NULLABLE", "name": "custom", "type": "RECORD" } ], "mode": "NULLABLE", "name": "access_level", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "perimeter_type", "type": "INTEGER" }, { "fields": [ { "mode": "REPEATED", "name": "resources", "type": "STRING" }, { "mode": "REPEATED", "name": "access_levels", "type": "STRING" }, { "mode": "REPEATED", "name": "restricted_services", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "enable_restriction", "type": "BOOLEAN" }, { "mode": "REPEATED", "name": "allowed_services", "type": "STRING" } ], "mode": "NULLABLE", "name": "vpc_accessible_services", "type": "RECORD" }, { "fields": [ { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "access_level", "type": "STRING" }, { "mode": "NULLABLE", "name": "resource", "type": "STRING" } ], "mode": "REPEATED", "name": "sources", "type": "RECORD" }, { "mode": "REPEATED", "name": "identities", "type": "STRING" }, { "mode": "NULLABLE", "name": "identity_type", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "ingress_from", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "service_name", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "method", "type": "STRING" }, { "mode": "NULLABLE", "name": "permission", "type": "STRING" } ], "mode": "REPEATED", "name": "method_selectors", "type": "RECORD" } ], "mode": "REPEATED", "name": "operations", "type": "RECORD" }, { "mode": "REPEATED", "name": "resources", "type": "STRING" } ], "mode": "NULLABLE", "name": "ingress_to", "type": "RECORD" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" } ], "mode": "REPEATED", "name": "ingress_policies", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "REPEATED", "name": "identities", "type": "STRING" }, { "mode": "NULLABLE", "name": "identity_type", "type": "INTEGER" }, { "fields": [ { "mode": "NULLABLE", "name": "access_level", "type": "STRING" }, { "mode": "NULLABLE", "name": "resource", "type": "STRING" } ], "mode": "REPEATED", "name": "sources", "type": "RECORD" }, { "mode": "NULLABLE", "name": "source_restriction", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "egress_from", "type": "RECORD" }, { "fields": [ { "mode": "REPEATED", "name": "resources", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "service_name", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "method", "type": "STRING" }, { "mode": "NULLABLE", "name": "permission", "type": "STRING" } ], "mode": "REPEATED", "name": "method_selectors", "type": "RECORD" } ], "mode": "REPEATED", "name": "operations", "type": "RECORD" }, { "mode": "REPEATED", "name": "external_resources", "type": "STRING" } ], "mode": "NULLABLE", "name": "egress_to", "type": "RECORD" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" } ], "mode": "REPEATED", "name": "egress_policies", "type": "RECORD" } ], "mode": "NULLABLE", "name": "status", "type": "RECORD" }, { "fields": [ { "mode": "REPEATED", "name": "resources", "type": "STRING" }, { "mode": "REPEATED", "name": "access_levels", "type": "STRING" }, { "mode": "REPEATED", "name": "restricted_services", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "enable_restriction", "type": "BOOLEAN" }, { "mode": "REPEATED", "name": "allowed_services", "type": "STRING" } ], "mode": "NULLABLE", "name": "vpc_accessible_services", "type": "RECORD" }, { "fields": [ { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "access_level", "type": "STRING" }, { "mode": "NULLABLE", "name": "resource", "type": "STRING" } ], "mode": "REPEATED", "name": "sources", "type": "RECORD" }, { "mode": "REPEATED", "name": "identities", "type": "STRING" }, { "mode": "NULLABLE", "name": "identity_type", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "ingress_from", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "service_name", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "method", "type": "STRING" }, { "mode": "NULLABLE", "name": "permission", "type": "STRING" } ], "mode": "REPEATED", "name": "method_selectors", "type": "RECORD" } ], "mode": "REPEATED", "name": "operations", "type": "RECORD" }, { "mode": "REPEATED", "name": "resources", "type": "STRING" } ], "mode": "NULLABLE", "name": "ingress_to", "type": "RECORD" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" } ], "mode": "REPEATED", "name": "ingress_policies", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "REPEATED", "name": "identities", "type": "STRING" }, { "mode": "NULLABLE", "name": "identity_type", "type": "INTEGER" }, { "fields": [ { "mode": "NULLABLE", "name": "access_level", "type": "STRING" }, { "mode": "NULLABLE", "name": "resource", "type": "STRING" } ], "mode": "REPEATED", "name": "sources", "type": "RECORD" }, { "mode": "NULLABLE", "name": "source_restriction", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "egress_from", "type": "RECORD" }, { "fields": [ { "mode": "REPEATED", "name": "resources", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "service_name", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "method", "type": "STRING" }, { "mode": "NULLABLE", "name": "permission", "type": "STRING" } ], "mode": "REPEATED", "name": "method_selectors", "type": "RECORD" } ], "mode": "REPEATED", "name": "operations", "type": "RECORD" }, { "mode": "REPEATED", "name": "external_resources", "type": "STRING" } ], "mode": "NULLABLE", "name": "egress_to", "type": "RECORD" }, { "mode": "NULLABLE", "name": "title", "type": "STRING" } ], "mode": "REPEATED", "name": "egress_policies", "type": "RECORD" } ], "mode": "NULLABLE", "name": "spec", "type": "RECORD" }, { "mode": "NULLABLE", "name": "use_explicit_dry_run_spec", "type": "BOOLEAN" }, { "mode": "NULLABLE", "name": "etag", "type": "STRING" } ], "mode": "NULLABLE", "name": "service_perimeter", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "authorization_type", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "asset_type", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "authorization_direction", "type": "INTEGER" }, { "mode": "REPEATED", "name": "orgs", "type": "STRING" } ], "mode": "NULLABLE", "name": "authorized_orgs_desc", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
OSConfig-Instanzinventar:Wenn Sie den Inhaltstyp
OS_INVENTORYin der REST API oderos-inventoryin der gcloud CLI festlegen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.OS Inventory-Schema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "hostname", "type": "STRING" }, { "mode": "NULLABLE", "name": "long_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "short_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "kernel_version", "type": "STRING" }, { "mode": "NULLABLE", "name": "kernel_release", "type": "STRING" }, { "mode": "NULLABLE", "name": "osconfig_agent_version", "type": "STRING" } ], "mode": "NULLABLE", "name": "os_info", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "key", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "id", "type": "STRING" }, { "mode": "NULLABLE", "name": "origin_type", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "create_time", "type": "TIMESTAMP" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" }, { "mode": "NULLABLE", "name": "type", "type": "INTEGER" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "yum_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "apt_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "zypper_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "googet_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "patch_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "category", "type": "STRING" }, { "mode": "NULLABLE", "name": "severity", "type": "STRING" }, { "mode": "NULLABLE", "name": "summary", "type": "STRING" } ], "mode": "NULLABLE", "name": "zypper_patch", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "id", "type": "STRING" }, { "mode": "NULLABLE", "name": "name", "type": "STRING" } ], "mode": "REPEATED", "name": "categories", "type": "RECORD" }, { "mode": "REPEATED", "name": "kb_article_ids", "type": "STRING" }, { "mode": "NULLABLE", "name": "support_url", "type": "STRING" }, { "mode": "REPEATED", "name": "more_info_urls", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_id", "type": "STRING" }, { "mode": "NULLABLE", "name": "revision_number", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "last_deployment_change_time", "type": "TIMESTAMP" } ], "mode": "NULLABLE", "name": "wua_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "caption", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "hot_fix_id", "type": "STRING" }, { "mode": "NULLABLE", "name": "install_time", "type": "TIMESTAMP" } ], "mode": "NULLABLE", "name": "qfe_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "cos_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "display_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "display_version", "type": "STRING" }, { "mode": "NULLABLE", "name": "publisher", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "year", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "month", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "day", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "install_date", "type": "RECORD" }, { "mode": "NULLABLE", "name": "help_link", "type": "STRING" } ], "mode": "NULLABLE", "name": "windows_application", "type": "RECORD" } ], "mode": "NULLABLE", "name": "installed_package", "type": "RECORD" }, { "fields": [ { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "yum_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "apt_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "zypper_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "googet_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "patch_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "category", "type": "STRING" }, { "mode": "NULLABLE", "name": "severity", "type": "STRING" }, { "mode": "NULLABLE", "name": "summary", "type": "STRING" } ], "mode": "NULLABLE", "name": "zypper_patch", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "title", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "id", "type": "STRING" }, { "mode": "NULLABLE", "name": "name", "type": "STRING" } ], "mode": "REPEATED", "name": "categories", "type": "RECORD" }, { "mode": "REPEATED", "name": "kb_article_ids", "type": "STRING" }, { "mode": "NULLABLE", "name": "support_url", "type": "STRING" }, { "mode": "REPEATED", "name": "more_info_urls", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_id", "type": "STRING" }, { "mode": "NULLABLE", "name": "revision_number", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "last_deployment_change_time", "type": "TIMESTAMP" } ], "mode": "NULLABLE", "name": "wua_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "caption", "type": "STRING" }, { "mode": "NULLABLE", "name": "description", "type": "STRING" }, { "mode": "NULLABLE", "name": "hot_fix_id", "type": "STRING" }, { "mode": "NULLABLE", "name": "install_time", "type": "TIMESTAMP" } ], "mode": "NULLABLE", "name": "qfe_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "package_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "architecture", "type": "STRING" }, { "mode": "NULLABLE", "name": "version", "type": "STRING" } ], "mode": "NULLABLE", "name": "cos_package", "type": "RECORD" }, { "fields": [ { "mode": "NULLABLE", "name": "display_name", "type": "STRING" }, { "mode": "NULLABLE", "name": "display_version", "type": "STRING" }, { "mode": "NULLABLE", "name": "publisher", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "year", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "month", "type": "INTEGER" }, { "mode": "NULLABLE", "name": "day", "type": "INTEGER" } ], "mode": "NULLABLE", "name": "install_date", "type": "RECORD" }, { "mode": "NULLABLE", "name": "help_link", "type": "STRING" } ], "mode": "NULLABLE", "name": "windows_application", "type": "RECORD" } ], "mode": "NULLABLE", "name": "available_package", "type": "RECORD" } ], "mode": "NULLABLE", "name": "value", "type": "RECORD" } ], "mode": "REPEATED", "name": "items", "type": "RECORD" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ], "mode": "NULLABLE", "name": "os_inventory", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
Beziehung:Wenn Sie den Inhaltstyp
RELATIONSHIPin der REST API oderrelationshipin der gcloud CLI festlegen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.Beziehungsschema
[ { "mode": "NULLABLE", "name": "name", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "fields": [ { "mode": "NULLABLE", "name": "asset", "type": "STRING" }, { "mode": "NULLABLE", "name": "asset_type", "type": "STRING" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "relationship_type", "type": "STRING" } ], "mode": "NULLABLE", "name": "related_asset", "type": "RECORD" }, { "mode": "REPEATED", "name": "ancestors", "type": "STRING" }, { "mode": "NULLABLE", "name": "update_time", "type": "TIMESTAMP" } ]
Asset-Snapshot exportieren
gcloud
gcloud asset export \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --snapshot-time="SNAPSHOT_TIME" \ --bigquery-table=projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \ --output-bigquery-force
Geben Sie folgende Werte an:
-
SCOPE: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID, wobeiPROJECT_IDdie ID des Projekts ist, das die Asset-Metadaten enthält, die Sie exportieren möchten. -
folder=FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners mit den Asset-Metadaten ist, die Sie exportieren möchten.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID, wobeiORGANIZATION_IDdie ID der Organisation ist, die die Asset-Metadaten enthält, die Sie exportieren möchten.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID: Optional. Die Projekt-ID des standardmäßigen Cloud Asset Inventory-Dienstkontos, das Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts ASSET_TYPE_#: Optional. Eine durch Kommas getrennte Liste von suchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird einINVALID_ARGUMENT-Fehler zurückgegeben. Wenn--asset-typesnicht angegeben ist, werden alle Asset-Typen zurückgegeben.CONTENT_TYPE: Optional. Der Inhaltstyp der Metadaten, die Sie abrufen möchten. Wenn--content-typenicht angegeben ist, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, der Zeitpunkt der letzten Aktualisierung der Assets und die Projekte, Ordner und Organisationen, zu denen sie gehören.-
RELATIONSHIP_TYPE_#: Optional. Erfordert Zugriff auf die Security Command Center Premium- oder Enterprise-Stufe oder Gemini Cloud Assist. Eine durch Kommas getrennte Liste der Asset-Beziehungstypen, die Sie abrufen möchten. Sie müssenCONTENT_TYPEaufRELATIONSHIPsetzen, damit das funktioniert. -
SNAPSHOT_TIME: Optional. Die Zeit, zu der Sie einen Snapshot Ihrer Assets erstellen möchten, im Format für Datum und Uhrzeit in gcloud. Der Wert darf maximal 35 Tage in der Vergangenheit liegen. Wenn--snapshot-timenicht angegeben ist, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. -
BIGQUERY_PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet, in die Sie Daten exportieren möchten. -
DATASET_ID: Die ID des BigQuery-Datasets. -
TABLE_NAME: Die BigQuery-Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.
Das Flag --output-bigquery-force überschreibt die Zieltabelle, falls sie vorhanden ist.
Eine vollständige Liste der Optionen finden Sie in der Referenz zur gcloud CLI.
Beispiel
Führen Sie den folgenden Befehl aus, um Ihre resource-Metadaten, wie sie am 30. Januar 2024 im Projekt my-project waren, in die BigQuery-Tabelle my-table zu exportieren.
gcloud asset export \ --project=my-project \ --content-type=resource \ --snapshot-time="2024-01-30" \ --bigquery-table=projects/my-project/datasets/my-dataset/tables/my-table \ --output-bigquery-force
Beispielantwort
Export in progress for root asset [projects/my-project]. Use [gcloud asset operations describe projects/000000000000/operations/ExportAssets/RESOURCE/00000000000000000000000000000000] to check the status of the operation.
REST
HTTP-Methode und URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:exportAssets
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
JSON-Text der Anfrage:
{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTime": "SNAPSHOT_TIME", "outputConfig": { "bigqueryDestination": { "dataset": "projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID", "table": "TABLE_NAME", "force": true } } }
Geben Sie folgende Werte an:
-
SCOPE_PATH: Verwenden Sie einen der folgenden Werte:Zulässige Werte:
-
projects/PROJECT_ID, wobeiPROJECT_IDdie ID des Projekts ist, das die Asset-Metadaten enthält, die Sie exportieren möchten. -
projects/PROJECT_NUMBER, wobeiPROJECT_NUMBERdie Nummer des Projekts mit den Asset-Metadaten ist, die Sie exportieren möchten.Google Cloud Projektnummer finden
Google Cloud Console
So finden Sie die Projektnummer eines Google Cloud -Projekts:
-
Rufen Sie in der Google Cloud Console die Seite Willkommen auf.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
-
Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach Ihrem Projektnamen. Der Projektname, die Projektnummer und die Projekt-ID werden in der Nähe der Überschrift Willkommen angezeigt.
Es werden bis zu 4.000 Ressourcen angezeigt. Wenn Sie das gewünschte Projekt nicht sehen, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste nach dem Namen des Projekts.
gcloud-CLI
Sie können eine Google Cloud Projektnummer mit dem folgenden Befehl abrufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, wobeiFOLDER_IDdie ID des Ordners mit den Asset-Metadaten ist, die Sie exportieren möchten.ID eines Google Cloud -Ordners finden
Google Cloud Console
So finden Sie die ID eines Google Cloud -Ordners:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.
gcloud-CLI
Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl abrufen:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dabei ist TOP_LEVEL_FOLDER_NAME eine teilweise oder vollständige Stringübereinstimmung für den Namen des Ordners. Entfernen Sie das Flag
--format, um weitere Informationen zu den gefundenen Ordnern zu sehen.Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, wobeiORGANIZATION_IDdie ID der Organisation ist, die die Asset-Metadaten enthält, die Sie exportieren möchten.ID einer Google Cloud Organisation finden
Google Cloud Console
So finden Sie die ID einer Google Cloud -Organisation:
-
Zur Google Cloud Console.
- Klicken Sie in der Menüleiste auf das Listenfeld Umschalter.
- Wählen Sie Ihre Organisation aus dem Listenfeld aus.
- Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.
gcloud-CLI
Sie können die ID einer Google Cloud Organisation mit dem folgenden Befehl abrufen:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID: Die Projekt-ID des standardmäßigen Cloud Asset Inventory-Dienstkontos, das Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts ASSET_TYPE_#: Optional. Ein Array von suchbaren Asset-Typen. RE2-kompatible reguläre Ausdrücke werden unterstützt. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird einINVALID_ARGUMENT-Fehler zurückgegeben. WennassetTypesnicht angegeben ist, werden alle Asset-Typen zurückgegeben.CONTENT_TYPE: Optional. Der Inhaltstyp der Metadaten, die Sie abrufen möchten. WenncontentTypenicht angegeben ist, werden nur grundlegende Informationen zurückgegeben, z. B. Asset-Namen, der Zeitpunkt der letzten Aktualisierung der Assets und die Projekte, Ordner und Organisationen, zu denen sie gehören.-
RELATIONSHIP_TYPE_#: Optional. Erfordert Zugriff auf die Security Command Center Premium- oder Enterprise-Stufe oder Gemini Cloud Assist. Eine durch Kommas getrennte Liste der Asset-Beziehungstypen, die Sie abrufen möchten. Dazu müssen SieCONTENT_TYPEaufRELATIONSHIPsetzen. -
SNAPSHOT_TIME: Optional. Die Zeit, zu der Sie einen Snapshot Ihrer Assets erstellen möchten, im RFC 3339-Format. Der Wert darf maximal 35 Tage in der Vergangenheit liegen. WennreadTimenicht angegeben ist, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. -
BIGQUERY_PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet, in die Sie Daten exportieren möchten. -
DATASET_ID: Die ID des BigQuery-Datasets. -
TABLE_NAME: Die BigQuery-Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.
Das Schlüssel/Wert-Paar "force": true überschreibt die Zieltabelle, falls sie vorhanden ist.
Alle Optionen finden Sie in der REST-Referenz.
Beispiele für Befehle
Führen Sie einen der folgenden Befehle aus, um die resource-Metadaten, wie sie am 30. Januar 2024 im Projekt my-project vorhanden waren, in die BigQuery-Tabelle my-table zu exportieren.
curl (Linux, macOS oder Cloud Shell)
curl -X POST \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z", "outputConfig": { "bigqueryDestination": { "dataset": "projects/my-project/datasets/my-dataset", "table": "my-table", "force": true } } }' \ https://cloudasset.googleapis.com/v1/projects/my-project:exportAssets
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z", "outputConfig": { "bigqueryDestination": { "dataset": "projects/my-project/datasets/my-dataset", "table": "my-table", "force": true } } } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:exportAssets" | Select-Object -Expand Content
Beispielantwort
{ "name": "projects/000000000000/operations/ExportAssets/RESOURCE/00000000000000000000000000000000", "metadata": { "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest", "parent": "projects/000000000000", "readTime": "2024-01-30T00:00:00Z", "contentType": "RESOURCE", "outputConfig": { "bigqueryDestination": { "dataset": "projects/my-project/datasets/my-dataset", "table": "my-table", "force": true } } } }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud Asset Inventory finden Sie unter Cloud Asset Inventory-Clientbibliotheken.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Asset Inventory zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Asset-Snapshot in separate Tabellen für jeden Asset-Typ exportieren
Sie können Assets mit dem Flag --per-asset-type in der gcloud CLI und "separateTablesPerAssetType": true in REST API-Anfragen in separate BigQuery-Tabellen für jeden Asset-Typ exportieren. Der Inhaltstyp RELATIONSHIP kann nicht auf diese Weise exportiert werden.
In diesem Modus ist der Name jeder Tabelle TABLE_NAME, gefolgt von _ (Unterstrich) und dem Namen des Asset-Typs. Nicht alphanumerische Zeichen werden durch _ ersetzt.
Wenn der Export in eine Tabelle fehlschlägt, schlägt der gesamte Exportvorgang fehl und gibt den ersten Fehler zurück. Die Ergebnisse früherer erfolgreicher Exporte bleiben erhalten.
Die folgenden Typen werden in einen JSON-String verpackt, um das Kompatibilitätsproblem zwischen Proto3 und BigQuery-Typen zu lösen.
google.protobuf.Timestampgoogle.protobuf.Durationgoogle.protobuf.FieldMaskgoogle.protobuf.ListValuegoogle.protobuf.Valuegoogle.protobuf.Structgoogle.api.*
gcloud
gcloud asset export \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --bigquery-table=projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \ --per-asset-type \ --output-bigquery-force
Geben Sie folgende Werte an:
-
SCOPE: Verwenden Sie einen der folgenden Werte:-
project=PROJECT_ID, wobeiPROJECT_IDdie ID des Projekts ist, das die Asset-Metadaten enthält, die Sie exportieren möchten. -
folder=FOLDER_ID, wobei
-