Topik ini menunjukkan cara mengekspor metadata aset untuk organisasi, folder, atau project Anda ke tabel BigQuery, lalu menjalankan analisis data pada inventaris Anda. BigQuery memberikan pengalaman seperti SQL bagi pengguna untuk menganalisis data dan menghasilkan insight yang bernilai tanpa menggunakan skrip kustom.
Sebelum memulai
Sebelum memulai, selesaikan langkah-langkah berikut.
Aktifkan Cloud Asset Inventory API pada project tempat Anda akan menjalankan perintah API.
Konfigurasi izin yang diperlukan untuk memanggil Cloud Asset Inventory API menggunakan gcloud CLI atau API.
Selesaikan langkah-langkah berikut untuk menyiapkan lingkungan Anda.
gcloud CLI
Untuk menyiapkan lingkungan Anda agar dapat menggunakan gcloud CLI untuk memanggil Cloud Asset Inventory API, instal Google Cloud CLI di klien lokal Anda.
REST
Untuk menyiapkan lingkungan Anda guna memanggil Cloud Asset Inventory API dengan perintah
curl
, selesaikan langkah-langkah berikut.Pastikan Anda memiliki akses ke perintah
curl
.Pastikan Anda memberikan salah satu peran berikut ke project, folder, atau organisasi Anda.
Peran Cloud Asset Viewer (
roles/cloudasset.viewer
)Peran dasar pemilik (
roles/owner
)
Jika Anda mengekspor metadata dari satu project ke project lain, pastikan akun layanan Inventaris Aset Cloud default project yang diekspor sudah ada dan memiliki izin yang benar.
Batasan
Saat mengekspor snapshot aset, perhatikan hal-hal berikut:
Tabel BigQuery yang dienkripsi dengan kunci Cloud Key Management Service (Cloud KMS) kustom tidak didukung.
Menambahkan output ekspor ke tabel yang ada tidak didukung, kecuali jika Anda mengekspor ke tabel yang dipartisi. Tabel tujuan harus kosong atau Anda harus menimpanya. Untuk menimpanya, gunakan flag
--output-bigquery-force
dengan gcloud CLI, atau gunakanforce
dengan REST API.Jenis resource Google Kubernetes Engine (GKE), kecuali untuk
container.googleapis.com/Cluster
dancontainer.googleapis.com/NodePool
, tidak didukung saat mengekspor ke tabel terpisah per jenis resource.Jika tabel yang sedang Anda ekspor sudah ada dan sedang diekspor, error
400
akan ditampilkan.
Menetapkan skema BigQuery untuk ekspor
Setiap tabel BigQuery ditentukan oleh skema yang menjelaskan nama kolom, jenis data, dan informasi lainnya. Menetapkan jenis konten selama ekspor akan menentukan skema untuk tabel Anda.
Resource atau tidak ditentukan: Jika Anda menetapkan jenis konten ke
RESOURCE
atau tidak menentukannya, dan menyetel tandaper-asset-type
kefalse
atau tidak menggunakannya, Anda akan membuat tabel BigQuery yang memiliki skema berikut.Skema resource
[ { "name": "name", "type": "STRING", "mode": "NULLABLE" }, { "name": "asset_type", "type": "STRING", "mode": "NULLABLE" }, { "name": "resource", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "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": "ancestors", "type": "STRING", "mode": "REPEATED" }, { "name": "update_time", "type": "TIMESTAMP", "mode": "NULLABLE" } ]
Kolom
resource.data
adalah metadata resource yang direpresentasikan sebagai string JSON.Jika Anda menetapkan jenis konten ke
RESOURCE
atau tidak menetapkan jenis konten, dan menetapkan tandaper-asset-type
ketrue
, Anda akan membuat tabel terpisah per jenis aset. Skema setiap tabel mencakup kolom jenis RECORD yang dipetakan ke kolom bertingkat di kolomResource.data
jenis aset tersebut (hingga 15 tingkat bertingkat yang didukung BigQuery). Untuk tabel contoh BigQuery per jenis, lihat projects/export-assets-examples/datasets/structured_export.Kebijakan IAM: Jika Anda menetapkan jenis konten ke
IAM_POLICY
di REST API atauiam-policy
di gcloud CLI, Anda akan membuat tabel BigQuery yang memiliki skema berikut.Skema kebijakan IAM
[ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "version", "mode": "NULLABLE", "type": "INTEGER" }, { "fields": [ { "name": "role", "mode": "NULLABLE", "type": "STRING" }, { "name": "members", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "expression", "mode": "NULLABLE", "type": "STRING" }, { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "name": "location", "mode": "NULLABLE", "type": "STRING" } ], "name": "condition", "mode": "NULLABLE", "type": "RECORD" } ], "name": "bindings", "mode": "REPEATED", "type": "RECORD" }, { "fields": [ { "name": "service", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "log_type", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "exempted_members", "mode": "REPEATED", "type": "STRING" } ], "name": "audit_log_configs", "mode": "REPEATED", "type": "RECORD" } ], "name": "audit_configs", "mode": "REPEATED", "type": "RECORD" }, { "name": "etag", "mode": "NULLABLE", "type": "STRING" } ], "name": "iam_policy", "mode": "NULLABLE", "type": "RECORD" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ]
Kebijakan organisasi: Saat menetapkan jenis konten ke
ORG_POLICY
di REST API atauorg-policy
di gcloud CLI, Anda akan membuat tabel BigQuery yang memiliki skema berikut.Skema kebijakan organisasi
[ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "version", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "constraint", "mode": "NULLABLE", "type": "STRING" }, { "name": "etag", "mode": "NULLABLE", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" }, { "fields": [ { "name": "allowed_values", "mode": "REPEATED", "type": "STRING" }, { "name": "denied_values", "mode": "REPEATED", "type": "STRING" }, { "name": "all_values", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "suggested_value", "mode": "NULLABLE", "type": "STRING" }, { "name": "inherit_from_parent", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "list_policy", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "enforced", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "boolean_policy", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "_present", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "restore_default", "mode": "NULLABLE", "type": "RECORD" } ], "name": "org_policy", "mode": "REPEATED", "type": "RECORD" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ]
Kebijakan VPCSC: Saat Anda menetapkan jenis konten ke
ACCESS_POLICY
di REST API atauaccess-policy
di gcloud CLI, Anda membuat tabel BigQuery yang memiliki skema berikut.Skema kebijakan VPCSC
[ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "parent", "mode": "NULLABLE", "type": "STRING" }, { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "scopes", "mode": "REPEATED", "type": "STRING" }, { "name": "etag", "mode": "NULLABLE", "type": "STRING" } ], "name": "access_policy", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "fields": [ { "name": "ip_subnetworks", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "require_screenlock", "mode": "NULLABLE", "type": "BOOLEAN" }, { "name": "allowed_encryption_statuses", "mode": "REPEATED", "type": "INTEGER" }, { "fields": [ { "name": "os_type", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "minimum_version", "mode": "NULLABLE", "type": "STRING" }, { "name": "require_verified_chrome_os", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "os_constraints", "mode": "REPEATED", "type": "RECORD" }, { "name": "allowed_device_management_levels", "mode": "REPEATED", "type": "INTEGER" }, { "name": "require_admin_approval", "mode": "NULLABLE", "type": "BOOLEAN" }, { "name": "require_corp_owned", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "device_policy", "mode": "NULLABLE", "type": "RECORD" }, { "name": "required_access_levels", "mode": "REPEATED", "type": "STRING" }, { "name": "negate", "mode": "NULLABLE", "type": "BOOLEAN" }, { "name": "members", "mode": "REPEATED", "type": "STRING" }, { "name": "regions", "mode": "REPEATED", "type": "STRING" } ], "name": "conditions", "mode": "REPEATED", "type": "RECORD" }, { "name": "combining_function", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "basic", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "expression", "mode": "NULLABLE", "type": "STRING" }, { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "name": "location", "mode": "NULLABLE", "type": "STRING" } ], "name": "expr", "mode": "NULLABLE", "type": "RECORD" } ], "name": "custom", "mode": "NULLABLE", "type": "RECORD" } ], "name": "access_level", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "name": "perimeter_type", "mode": "NULLABLE", "type": "INTEGER" }, { "fields": [ { "name": "resources", "mode": "REPEATED", "type": "STRING" }, { "name": "access_levels", "mode": "REPEATED", "type": "STRING" }, { "name": "restricted_services", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "enable_restriction", "mode": "NULLABLE", "type": "BOOLEAN" }, { "name": "allowed_services", "mode": "REPEATED", "type": "STRING" } ], "name": "vpc_accessible_services", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "fields": [ { "name": "access_level", "mode": "NULLABLE", "type": "STRING" }, { "name": "resource", "mode": "NULLABLE", "type": "STRING" } ], "name": "sources", "mode": "REPEATED", "type": "RECORD" }, { "name": "identities", "mode": "REPEATED", "type": "STRING" }, { "name": "identity_type", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "ingress_from", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "service_name", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "method", "mode": "NULLABLE", "type": "STRING" }, { "name": "permission", "mode": "NULLABLE", "type": "STRING" } ], "name": "method_selectors", "mode": "REPEATED", "type": "RECORD" } ], "name": "operations", "mode": "REPEATED", "type": "RECORD" }, { "name": "resources", "mode": "REPEATED", "type": "STRING" } ], "name": "ingress_to", "mode": "NULLABLE", "type": "RECORD" } ], "name": "ingress_policies", "mode": "REPEATED", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "identities", "mode": "REPEATED", "type": "STRING" }, { "name": "identity_type", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "egress_from", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "resources", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "service_name", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "method", "mode": "NULLABLE", "type": "STRING" }, { "name": "permission", "mode": "NULLABLE", "type": "STRING" } ], "name": "method_selectors", "mode": "REPEATED", "type": "RECORD" } ], "name": "operations", "mode": "REPEATED", "type": "RECORD" }, { "name": "external_resources", "mode": "REPEATED", "type": "STRING" } ], "name": "egress_to", "mode": "NULLABLE", "type": "RECORD" } ], "name": "egress_policies", "mode": "REPEATED", "type": "RECORD" } ], "name": "status", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "resources", "mode": "REPEATED", "type": "STRING" }, { "name": "access_levels", "mode": "REPEATED", "type": "STRING" }, { "name": "restricted_services", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "enable_restriction", "mode": "NULLABLE", "type": "BOOLEAN" }, { "name": "allowed_services", "mode": "REPEATED", "type": "STRING" } ], "name": "vpc_accessible_services", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "fields": [ { "name": "access_level", "mode": "NULLABLE", "type": "STRING" }, { "name": "resource", "mode": "NULLABLE", "type": "STRING" } ], "name": "sources", "mode": "REPEATED", "type": "RECORD" }, { "name": "identities", "mode": "REPEATED", "type": "STRING" }, { "name": "identity_type", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "ingress_from", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "service_name", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "method", "mode": "NULLABLE", "type": "STRING" }, { "name": "permission", "mode": "NULLABLE", "type": "STRING" } ], "name": "method_selectors", "mode": "REPEATED", "type": "RECORD" } ], "name": "operations", "mode": "REPEATED", "type": "RECORD" }, { "name": "resources", "mode": "REPEATED", "type": "STRING" } ], "name": "ingress_to", "mode": "NULLABLE", "type": "RECORD" } ], "name": "ingress_policies", "mode": "REPEATED", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "identities", "mode": "REPEATED", "type": "STRING" }, { "name": "identity_type", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "egress_from", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "resources", "mode": "REPEATED", "type": "STRING" }, { "fields": [ { "name": "service_name", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "method", "mode": "NULLABLE", "type": "STRING" }, { "name": "permission", "mode": "NULLABLE", "type": "STRING" } ], "name": "method_selectors", "mode": "REPEATED", "type": "RECORD" } ], "name": "operations", "mode": "REPEATED", "type": "RECORD" }, { "name": "external_resources", "mode": "REPEATED", "type": "STRING" } ], "name": "egress_to", "mode": "NULLABLE", "type": "RECORD" } ], "name": "egress_policies", "mode": "REPEATED", "type": "RECORD" } ], "name": "spec", "mode": "NULLABLE", "type": "RECORD" }, { "name": "use_explicit_dry_run_spec", "mode": "NULLABLE", "type": "BOOLEAN" } ], "name": "service_perimeter", "mode": "NULLABLE", "type": "RECORD" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ]
Inventaris instance OSConfig: Saat menetapkan jenis konten ke
OS_INVENTORY
di REST API atauos-inventory
di gcloud CLI, Anda membuat tabel BigQuery yang memiliki skema berikut.Skema inventaris OS
[ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "hostname", "mode": "NULLABLE", "type": "STRING" }, { "name": "long_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "short_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "kernel_version", "mode": "NULLABLE", "type": "STRING" }, { "name": "kernel_release", "mode": "NULLABLE", "type": "STRING" }, { "name": "osconfig_agent_version", "mode": "NULLABLE", "type": "STRING" } ], "name": "os_info", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "key", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "id", "mode": "NULLABLE", "type": "STRING" }, { "name": "origin_type", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "create_time", "mode": "NULLABLE", "type": "TIMESTAMP" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" }, { "name": "type", "mode": "NULLABLE", "type": "INTEGER" }, { "fields": [ { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "yum_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "apt_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "zypper_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "googet_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "patch_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "category", "mode": "NULLABLE", "type": "STRING" }, { "name": "severity", "mode": "NULLABLE", "type": "STRING" }, { "name": "summary", "mode": "NULLABLE", "type": "STRING" } ], "name": "zypper_patch", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "id", "mode": "NULLABLE", "type": "STRING" }, { "name": "name", "mode": "NULLABLE", "type": "STRING" } ], "name": "categories", "mode": "REPEATED", "type": "RECORD" }, { "name": "kb_article_ids", "mode": "REPEATED", "type": "STRING" }, { "name": "support_url", "mode": "NULLABLE", "type": "STRING" }, { "name": "more_info_urls", "mode": "REPEATED", "type": "STRING" }, { "name": "update_id", "mode": "NULLABLE", "type": "STRING" }, { "name": "revision_number", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "last_deployment_change_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ], "name": "wua_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "caption", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "name": "hot_fix_id", "mode": "NULLABLE", "type": "STRING" }, { "name": "install_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ], "name": "qfe_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "cos_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "display_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "display_version", "mode": "NULLABLE", "type": "STRING" }, { "name": "publisher", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "year", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "month", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "day", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "install_date", "mode": "NULLABLE", "type": "RECORD" }, { "name": "help_link", "mode": "NULLABLE", "type": "STRING" } ], "name": "windows_application", "mode": "NULLABLE", "type": "RECORD" } ], "name": "installed_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "yum_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "apt_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "zypper_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "googet_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "patch_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "category", "mode": "NULLABLE", "type": "STRING" }, { "name": "severity", "mode": "NULLABLE", "type": "STRING" }, { "name": "summary", "mode": "NULLABLE", "type": "STRING" } ], "name": "zypper_patch", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "title", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "id", "mode": "NULLABLE", "type": "STRING" }, { "name": "name", "mode": "NULLABLE", "type": "STRING" } ], "name": "categories", "mode": "REPEATED", "type": "RECORD" }, { "name": "kb_article_ids", "mode": "REPEATED", "type": "STRING" }, { "name": "support_url", "mode": "NULLABLE", "type": "STRING" }, { "name": "more_info_urls", "mode": "REPEATED", "type": "STRING" }, { "name": "update_id", "mode": "NULLABLE", "type": "STRING" }, { "name": "revision_number", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "last_deployment_change_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ], "name": "wua_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "caption", "mode": "NULLABLE", "type": "STRING" }, { "name": "description", "mode": "NULLABLE", "type": "STRING" }, { "name": "hot_fix_id", "mode": "NULLABLE", "type": "STRING" }, { "name": "install_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ], "name": "qfe_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "package_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "architecture", "mode": "NULLABLE", "type": "STRING" }, { "name": "version", "mode": "NULLABLE", "type": "STRING" } ], "name": "cos_package", "mode": "NULLABLE", "type": "RECORD" }, { "fields": [ { "name": "display_name", "mode": "NULLABLE", "type": "STRING" }, { "name": "display_version", "mode": "NULLABLE", "type": "STRING" }, { "name": "publisher", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "year", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "month", "mode": "NULLABLE", "type": "INTEGER" }, { "name": "day", "mode": "NULLABLE", "type": "INTEGER" } ], "name": "install_date", "mode": "NULLABLE", "type": "RECORD" }, { "name": "help_link", "mode": "NULLABLE", "type": "STRING" } ], "name": "windows_application", "mode": "NULLABLE", "type": "RECORD" } ], "name": "available_package", "mode": "NULLABLE", "type": "RECORD" } ], "name": "value", "mode": "NULLABLE", "type": "RECORD" } ], "name": "items", "mode": "REPEATED", "type": "RECORD" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ], "name": "os_inventory", "mode": "NULLABLE", "type": "RECORD" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ]
Hubungan: Saat menetapkan jenis konten ke
RELATIONSHIP
di REST API ataurelationship
di gcloud CLI, Anda membuat tabel BigQuery yang memiliki skema berikut.Skema hubungan
[ { "name": "name", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "fields": [ { "name": "asset", "mode": "NULLABLE", "type": "STRING" }, { "name": "asset_type", "mode": "NULLABLE", "type": "STRING" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "relationship_type", "mode": "NULLABLE", "type": "STRING" } ], "name": "related_asset", "mode": "NULLABLE", "type": "RECORD" }, { "name": "ancestors", "mode": "REPEATED", "type": "STRING" }, { "name": "update_time", "mode": "NULLABLE", "type": "TIMESTAMP" } ]
Mengekspor snapshot aset ke BigQuery
Mengekspor aset pada stempel waktu yang ditentukan
Untuk mengekspor snapshot aset pada stempel waktu tertentu ke tabel BigQuery bernama TABLE_NAME
, buat permintaan berikut.
gcloud
Project
gcloud asset export \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force
Berikan nilai berikut:
PROJECT_ID
: ID project yang metadatanya ingin Anda ekspor.BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
Folder
gcloud asset export \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force
Berikan nilai berikut:
FOLDER_ID
: ID folder yang metadatanya ingin Anda ekspor.Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
Organisasi
gcloud asset export \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force
Berikan nilai berikut:
ORGANIZATION_ID
: ID organisasi yang metadatanya ingin Anda ekspor.Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"contentType": "CONTENT_TYPE",
"readTime": "SNAPSHOT_TIME",
"outputConfig": {
"bigqueryDestination": {
"dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
"table": "TABLE_NAME",
"force": true
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:exportAssets
Berikan nilai berikut:
BILLING_PROJECT_ID
: Project ID tempat agen layanan Inventaris Aset Cloud default berada, yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenACCESS_POLICY
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil snapshot aset, dalam format RFC 3339. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
ID set data BigQuery.TABLE_NAME
Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.SCOPE
: Cakupan dapat berupa project, folder, atau organisasi.Nilai yang diizinkan adalah:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cara menemukan nomor project Google Cloud
Konsol
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Dasbor di Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Pilih organisasi dari kotak Pilih dari, lalu telusuri nama project Anda.
- Klik nama project untuk beralih ke project tersebut. Nomor project ditampilkan di kartu Project info.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Parameter lainnya:
"force": true
: Menimpa tabel tujuan jika ada.
Mengekspor tabel terpisah untuk setiap jenis resource
Untuk mengekspor aset ke tabel BigQuery yang terpisah bagi setiap jenis resource, gunakan flag --per-asset-type
. Setiap nama tabel
TABLE_NAME
digabungkan dengan _
(garis bawah) dan
nama jenis aset. Karakter non-alfanumerik diganti dengan _
.
Perhatikan bahwa jenis resource GKE, kecuali container.googleapis.com/Cluster
dan container.googleapis.com/NodePool
, tidak didukung untuk jenis ekspor ini.
gcloud
Project
gcloud asset export \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force \
--per-asset-type
Berikan nilai berikut:
PROJECT_ID
: ID project yang metadatanya ingin Anda ekspor.BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.--per-asset-type
: Mengekspor ke beberapa tabel BigQuery per jenis resource.
Folder
gcloud asset export \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force \
--per-asset-type
Berikan nilai berikut:
FOLDER_ID
: ID folder yang metadatanya ingin Anda ekspor.Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.--per-asset-type
: Mengekspor ke beberapa tabel BigQuery per jenis resource.
Organisasi
gcloud asset export \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--output-bigquery-force \
--per-asset-type
Berikan nilai berikut:
ORGANIZATION_ID
: ID organisasi yang Anda inginkan insight-nya.Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.--per-asset-type
: Mengekspor ke beberapa tabel BigQuery per jenis resource.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"contentType": "CONTENT_TYPE",
"readTime": "SNAPSHOT_TIME",
"outputConfig": {
"bigqueryDestination": {
"dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
"table": "TABLE_NAME",
"force": true,
"separateTablesPerAssetType": true
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:exportAssets
Berikan nilai berikut:
BILLING_PROJECT_ID
: Project ID tempat agen layanan Inventaris Aset Cloud default berada, yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenACCESS_POLICY
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil ringkasan aset, dalam format RFC 3339. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.SCOPE
: Cakupan dapat berupa project, folder, atau organisasi.Nilai yang diizinkan adalah:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cara menemukan nomor project Google Cloud
Konsol
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Dasbor di Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Pilih organisasi dari kotak Pilih dari, lalu telusuri nama project Anda.
- Klik nama project untuk beralih ke project tersebut. Nomor project ditampilkan di kartu Project info.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Parameter lainnya:
"force": true
: Menimpa tabel tujuan jika ada.
Jika pengeksporan ke tabel mana pun gagal, seluruh operasi ekspor akan gagal dan menampilkan error pertama. Hasil dari ekspor yang berhasil sebelumnya tetap ada.
Jenis berikut dikemas dalam string JSON untuk mengatasi masalah kompatibilitas antara jenis JSON3 dan BigQuery.
google.protobuf.Timestamp
google.protobuf.Duration
google.protobuf.FieldMask
google.protobuf.ListValue
google.protobuf.Value
google.protobuf.Struct
google.api.*
Mengekspor ke tabel yang dipartisi
Untuk mengekspor aset dalam project ke tabel yang dipartisi,
tentukan kunci partisi dalam permintaan ekspor. Snapshot yang diekspor disimpan dalam tabel BigQuery bernama TABLE_NAME
dengan perincian harian dan dua kolom stempel waktu tambahan, readTime
dan requestTime
, yang salah satunya ditentukan oleh nilai PARTITION_KEY
.
Untuk mengekspor aset dalam project ke tabel yang dipartisi, buat salah satu permintaan berikut.
gcloud
Project
gcloud asset export \
--project=PROJECT_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--partition-key=PARTITION_KEY \
--output-bigquery-force
Berikan nilai berikut:
PROJECT_ID
: ID project yang metadatanya ingin Anda ekspor.BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel untuk mengekspor metadata. Jika tidak ada, berarti dibuat.PARTITION_KEY
: Kolom kunci partisi saat mengekspor ke tabel yang dipartisi BigQuery. Nilai yang valid adalahread-time
danrequest-time
.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
Folder
gcloud asset export \
--folder=FOLDER_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--partition-key=PARTITION_KEY \
--output-bigquery-force
Berikan nilai berikut:
FOLDER_ID
: ID folder yang metadatanya ingin Anda ekspor.Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset. Jenis kontenaccess-policy
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.PARTITION_KEY
: Kolom kunci partisi saat mengekspor ke tabel yang dipartisi BigQuery. Nilai yang valid adalahread-time
danrequest-time
.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
Organisasi
gcloud asset export \
--organization=ORGANIZATION_ID \
--billing-project=BILLING_PROJECT_ID \
--content-type=CONTENT_TYPE \
--snapshot-time="SNAPSHOT_TIME" \
--bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
--partition-key=PARTITION_KEY \
--output-bigquery-force
Berikan nilai berikut:
ORGANIZATION_ID
: ID organisasi yang Anda inginkan insight-nya.Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Jenis konten aset.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.PROJECT_ID
: ID project tempat tabel BigQuery berada.DATASET_ID
: ID set data BigQuery.TABLE_NAME
: Tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.PARTITION_KEY
: Kolom kunci partisi saat mengekspor ke tabel yang dipartisi BigQuery. Nilai yang valid adalahread-time
danrequest-time
.
Tanda lainnya:
--output-bigquery-force
: Menimpa tabel tujuan jika ada.
Jika flag output-bigquery-force
ditetapkan ke true
, partisi yang sesuai akan ditimpa oleh hasil snapshot, namun data dalam satu atau beberapa partisi yang berbeda tetap utuh. Jika output-bigquery-force
tidak disetel atau
false
, data akan ditambahkan ke partisi yang sesuai.
Operasi ekspor gagal jika pembaruan skema atau upaya untuk menambahkan data gagal. Ini termasuk jika tabel tujuan sudah ada dan tidak memiliki skema yang diharapkan untuk ekspor.
REST
curl -X POST \
-H "X-Goog-User-Project: BILLING_PROJECT_ID" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"contentType": "CONTENT_TYPE",
"readTime": "SNAPSHOT_TIME",
"outputConfig": {
"bigqueryDestination": {
"dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
"table": "TABLE_NAME",
"force": true,
"partitionSpec": {
"partitionKey": "PARTITION_KEY"
}
}
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:exportAssets
Berikan nilai berikut:
BILLING_PROJECT_ID
: Project ID tempat agen layanan Inventaris Aset Cloud default berada, yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Baca selengkapnya tentang project penagihan.PROJECT_ID
: ID project tempat tabel BigQuery berada.CONTENT_TYPE
: Jenis konten aset. Jenis kontenACCESS_POLICY
hanya dapat diekspor untuk organisasi. Jika Anda mengekspornya untuk project atau folder, tabel kosong akan dibuat.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil snapshot aset, dalam format RFC 3339. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini.DATASET_ID
: Adalah ID dari set data BigQuery.TABLE_NAME
: Apakah tabel tempat Anda mengekspor metadata. Jika tidak ada, berarti dibuat.PARTITION_KEY
: Merupakan kolom kunci partisi saat mengekspor ke tabel yang dipartisi BigQuery. Nilai yang valid adalahread-time
danrequest-time
.SCOPE
: Cakupan dapat berupa project, folder, atau organisasi.Nilai yang diizinkan adalah:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cara menemukan nomor project Google Cloud
Konsol
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Dasbor di Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Pilih organisasi dari kotak Pilih dari, lalu telusuri nama project Anda.
- Klik nama project untuk beralih ke project tersebut. Nomor project ditampilkan di kartu Project info.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada di tingkat organisasi dengan perintah berikut:
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)"
Dengan TOP_LEVEL_FOLDER_NAME dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
Parameter lainnya:
"force": true
: Menimpa tabel tujuan jika ada. Langkah ini hanya berfungsi jika tabel memiliki struktur partisi yang sama dengan yang diharapkan oleh ekspor.Jika
force
ditetapkan ketrue
, partisi yang sesuai akan ditimpa oleh hasil snapshot, sedangkan data dalam partisi yang berbeda tetap tidak akan berubah. Jikaforce
tidak disetel atau disetel kefalse
, data akan ditambahkan ke partisi yang sesuai.
Operasi ekspor akan gagal jika update skema atau upaya untuk menambahkan data gagal. Ini termasuk jika tabel tujuan sudah ada dan tidak memiliki skema yang diharapkan oleh ekspor.
Memeriksa status ekspor
Operasi dikaitkan dengan ID operasi, yang merupakan UUID.
Nilai ini berpotensi sensitif, karena perintah gcloud asset operations describe
tidak memerlukan izin tambahan agar berhasil dijalankan. Pastikan Anda hanya membagikan ID operasi dengan pengguna tepercaya.
Server menolak permintaan jika permintaan sebelumnya ke tujuan yang sama dimulai kurang dari 15 menit yang lalu dan masih berjalan. Hasil yang tidak ditentukan dapat terjadi jika waktu ekspor lebih dari 15 menit dan permintaan berturut-turut ke tujuan yang sama dijalankan sebelum permintaan pertama berhasil.
Untuk memeriksa status ekspor, jalankan perintah berikut.
gcloud CLI
Untuk memeriksa status ekspor, Anda dapat menjalankan perintah berikut. OPERATION_PATH
ditampilkan sebagai respons setelah menjalankan perintah ekspor.
gcloud asset operations describe OPERATION_PATH
REST
Untuk melihat status ekspor Anda, jalankan perintah berikut dengan ID operasi yang ditampilkan sebagai respons terhadap ekspor Anda.
Anda dapat menemukan
OPERATION_PATH
di kolomname
respons terhadap ekspor, yang diformat sebagai berikut:"name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
Untuk memeriksa status ekspor Anda, jalankan perintah berikut dengan
OPERATION_PATH
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudasset.googleapis.com/v1/OPERATION_PATH
Melihat ringkasan aset
Untuk melihat tabel yang berisi metadata snapshot aset, selesaikan langkah-langkah berikut.
Konsol
Buka halaman BigQuery Studio di Konsol Google Cloud.
Untuk menampilkan tabel dan tampilan dalam set data, buka panel navigasi. Di bagian Resources, pilih project Anda untuk meluaskannya, lalu pilih set data.
Dari daftar, pilih tabel Anda.
Pilih Detail dan catat nilai di Jumlah baris. Anda mungkin memerlukan nilai ini untuk mengontrol titik awal hasil Anda menggunakan gcloud CLI atau REST API.
Untuk melihat contoh kumpulan data, pilih Pratinjau.
REST
Untuk menjelajahi data tabel, panggil tabledata.list
.
Di parameter tableId
, tentukan nama tabel Anda.
Anda dapat mengonfigurasi parameter opsional berikut untuk mengontrol output.
maxResults
adalah jumlah hasil maksimum yang akan ditampilkan.selectedFields
adalah daftar kolom yang dipisahkan koma yang akan ditampilkan; Jika tidak ditentukan, semua kolom akan ditampilkan.startIndex
adalah indeks berbasis nol dari baris awal yang harus dibaca.
Nilai akan ditampilkan dan digabungkan dalam objek JSON yang harus Anda uraikan, seperti dijelaskan
dalam dokumentasi referensi
tabledata.list
.
Ekspor mencantumkan aset dan nama resource-nya.
Membuat kueri snapshot aset
Setelah mengekspor snapshot ke BigQuery, Anda dapat menjalankan kueri di metadata aset. Lihat Mengekspor ke Contoh Kueri BigQuery untuk mempelajari lebih lanjut beberapa kasus penggunaan umum.
Secara default, BigQuery menjalankan tugas kueri interaktif, atau sesuai permintaan, yang berarti kueri dijalankan sesegera mungkin. Kueri interaktif diperhitungkan dalam batas kapasitas serentak dan batas harian Anda.
Hasil kueri disimpan ke tabel sementara atau permanen. Anda dapat memilih untuk menambahkan atau menimpa data di tabel yang sudah ada atau membuat tabel baru, jika tidak ada tabel dengan nama yang sama.
Untuk menjalankan kueri interaktif yang menulis output ke tabel sementara, selesaikan langkah-langkah berikut.
Konsol
Buka halaman BigQuery Studio di Konsol Google Cloud.
Pilih
Compose new query.Di area teks Query editor, masukkan kueri SQL BigQuery yang valid.
Opsional: Untuk mengubah lokasi pemrosesan data, selesaikan langkah-langkah berikut.
Pilih Lainnya, lalu pilih Setelan kueri.
Di bagian Lokasi pemrosesan, pilih Pilih otomatis, lalu pilih lokasi data Anda.
Untuk memperbarui setelan kueri, pilih Simpan.
Pilih Run.
REST
Untuk memulai tugas baru, panggil metode
jobs.insert
. Di resource tugas, tetapkan parameter berikut.Di kolom
configuration
, tetapkan kolomquery
ke JobConfigurationQuery, yang menjelaskan tugas kueri BigQuery.Di kolom
jobReference
, tetapkan kolomlocation
dengan tepat untuk tugas Anda.
Untuk melakukan polling hasil, panggil
getQueryResults
. Polling hinggajobComplete
sama dengantrue
. Anda dapat memeriksa error dan peringatan dalam daftarerrors
.