查询资产

本主题介绍了如何查询项目、文件夹、 而无需将数据导出至 BigQuery 表格。

限制

  • 请求中提供的查询必须是 SELECT 查询。

  • 不支持超过 10GB 的查询结果。

  • 大于 10MB 或 1000 行的查询结果始终分页。

  • 查询处理时间不得超过 6 小时

  • 旧版 BigQuery SQL 不 支持。

  • 查询结果只能保存US 多区域的 BigQuery 数据集中。

  • 对于 Google Kubernetes Engine 资源, 支持的素材资源类型页面 container.googleapis.com/Clustercontainer.googleapis.com/NodePool

  • 对于 Security Command Center 高级层级的新订阅,最长可能需要 6 小时才能访问该 API,最长可能需要 48 小时才能准备好历史数据。

准备工作

在开始之前,请完成以下步骤。

  1. 对将要运行的项目启用 Cloud Asset Inventory API API 命令。

    启用 Cloud Asset Inventory API

  2. 配置执行下列操作所需的权限 使用 gcloud CLIAPI 调用 Cloud Asset Inventory API。

  3. 完成以下步骤以设置您的环境。

    gcloud CLI

    要设置环境以使用 gcloud CLI 调用 Cloud Asset Inventory API,请在您的 本地客户端。

    REST

    要设置您的环境,以便使用 curl 命令,请完成以下步骤。

    1. 确认您有权使用 curl 命令。

    2. 请务必授予 您在项目、文件夹或项目上拥有下列某一角色 组织。

      • Cloud Asset Viewer 角色 (roles/cloudasset.viewer)

      • Owner 基本角色 (roles/owner)

  4. 如果要将元数据从一个项目导出到另一个项目,请确保 导出项目的 默认 Cloud Asset Inventory 服务账号已存在且具有正确的权限

权限

以下列表显示了每种 ContentType 所需的权限 。

内容类型 权限
gcloud 名称 REST 名称
access-policy ACCESS_POLICY cloudasset.assets.queryAccessPolicy
iam-policy IAM_POLICY cloudasset.assets.queryIamPolicy
os-inventory OS_INVENTORY cloudasset.assets.queryOSInventories
relationship RELATIONSHIP cloudasset.assets.queryResource
resource RESOURCE cloudasset.assets.queryResource

您在配置权限时授予的角色 (cloudasset.viewercloudasset.owner)包含这些权限。

设置查询格式

Query Assets API 要求查询使用 与 BigQuery 标准 SQL 兼容 方言。

在查询资产时,其名称必须遵循特定格式。例如: 则查找虚拟机的查询会查询 compute_googleapis_com_Instance。 详细了解支持的素材资源类型

查询中使用的名称进行转换 - /. 替换为 _(对于 例如,compute.googleapis.com/Instance 会变为 compute_googleapis_com_Instance)。

数据集中的表名称与资源类型名称相对应。对于 content_type 不是 RESOURCE,表格名称是大写形式的内容类型 大小写(例如 IAM_POLICYOS_INVENTORYACCESS_POLICY)。

如需跨资源类型查询资源标准元数据,表名称为 STANDARD_METADATA。支持的资源元数据包括除以下字段之外的所有字段: resource.DATA,特定于资源类型。

您可以参考 Google Cloud 控制台中的“Asset Inventory”页面

字段值响应格式

在响应中,schemarows 字段与 BigQuery。字段元数据 会转移到名为 schema 的单独结构体中。这种格式有助于压缩 以免产生非常大的响应,因为这可以避免字段名称和类型重复。通过 出于同样的原因,会使用值 fv(而非 fieldsvalue)。

此示例显示了查询针对指定类型的所有资产时返回的响应, 第 page-size 个(共 2 个):

{
  "jobReference": "CiBqb2JfTHhIQ2xCeXlJejc1bHdQSTRNZ3NEVndXU2o5QxIBARjLq-_g5fO5t1I",
  "done": true,
  "queryResult": {
    "rows": [
      {
        "f": [
          {
            "v": "//compute.googleapis.com/projects/PROJECT1/zones/us-central1-a/instances/INSTANCE1"
          },
          {
            "v": "compute.googleapis.com/Instance"
          }
        ]
      },
      {
        "f": [
          {
            "v": "//compute.googleapis.com/projects/PROJECT2/zones/us-central1-a/instances/INSTANCE2"
          },
          {
            "v": "compute.googleapis.com/Instance"
          }
        ]
      }
    ],
    "schema": {
      "fields": [
        {
          "field": "name",
          "type": "STRING",
          "mode": "NULLABLE",
          "fields": []
        },
        {
          "field": "assetType",
          "type": "STRING",
          "mode": "NULLABLE",
          "fields": []
        }
      ]
    },
    "nextPageToken": "BHKVJIOAPUAQAAASA4EAAEEAQCAAKGQIBABBB7X7777QOIFQVYKQ====",
    "totalRows": "11"
  }
}

在 Google Cloud 控制台中查询

控制台

如需查询项目、文件夹或组织的资产元数据,请执行以下操作: 请完成以下步骤:

  1. 前往 Google Cloud 控制台中的 Asset Inventory 页面。

    前往 Asset Inventory

  2. 如需设置搜索范围,请选择项目、文件夹或 组织。

  3. 点击资产查询标签页。

  4. 如需查询资产元数据,请使用示例查询或构建自己的查询:

    • 要使用示例,请点击查询库标签页中的相应条目,以 预览查询。点击应用,将该样本复制到 修改查询框,然后修改查询,或点击运行 代码。

    • 要构建您自己的查询,请直接在 修改查询框,然后点击运行以执行查询。帮助您 编写自己的查询时,可以在选择表 预览其架构和内容。详细了解查询语法

    与查询匹配的资产元数据会显示在查询结果中 标签页。

  5. 可选:要下载 CSV 格式的查询结果集,请点击 导出

    CSV 文件的大小上限为 2 MB。如果下载请求失败 由于文件大小超过此限制,系统将会显示 有关导出完整结果的说明。

保存查询结果

查询结果作为 Query Assets API 响应返回。导出结果 导出到您自己的 BigQuery 表中,请在 请求。如果您还没有邓氏编码,则必须 创建 BigQuery 数据集,然后再执行 这些请求

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --write-disposition="write-truncate"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 BigQuery。如果您已经切换,则不需要 向结算项目授予 gcloud config set project详细了解结算项目

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:您要导出的表 元数据。如果不存在,系统会创建一个。

其他标志:

  • --write-disposition:指定在以下情况下发生的操作: BigQuery 目标表或分区已存在 以及设置写入处置方式支持以下值:

    • write-truncate:如果表或分区已存在, BigQuery 覆盖整个表或所有分区 数据。

    • write-append:如果表或分区已存在, BigQuery 会将数据附加到表中 。

    • write-empty:如果表已存在且包含数据, 作业结果中会返回 duplicate 错误。

    默认值为 write-empty

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --write-disposition="write-truncate"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 BigQuery。如果您已经切换,则不需要 向结算项目授予 gcloud config set project详细了解结算项目

  • PROJECT_ID:需要处理的项目的 ID BigQuery 表所在的位置。

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:您要导出的表 元数据。如果不存在,系统会创建一个。

其他标志:

  • --write-disposition:指定在以下情况下发生的操作: BigQuery 目标表或分区已存在 以及设置写入处置方式支持以下值:

    • write-truncate:如果表或分区已存在, BigQuery 会覆盖整个表或所有分区数据。

    • write-append:如果表或分区已存在, BigQuery 会将数据附加到表中 。

    • write-empty:如果表已存在且包含数据, 作业结果中会返回 duplicate 错误。

    默认值为 write-empty

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --write-disposition="write-truncate"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 BigQuery。如果您已经切换,则不需要 向结算项目授予 gcloud config set project详细了解结算项目

  • PROJECT_ID:需要处理的项目的 ID BigQuery 表所在的位置。

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:您要导出的表 元数据。如果不存在,系统会创建一个。

其他标志:

  • --write-disposition:指定在以下情况下发生的操作: BigQuery 目标表或分区已存在 以及设置写入处置方式支持以下值:

    • write-truncate:如果表或分区已存在, BigQuery 会覆盖整个表或所有分区数据。

    • write-append:如果表或分区已存在, BigQuery 会将数据附加到表中 。

    • write-empty:如果表已存在且包含数据, 作业结果中会返回 duplicate 错误。

    默认值为 write-empty

以下是保存查询的成功请求的响应示例 导出到指定的 BigQuery 目标表:

done: true
jobReference: CiBqb2JfMkpzOERxN2l5RnRKeWJQRksxWUlmYkxWNTUzbhIBARixoYOcs9T_qcgB
outputConfig:
  bigqueryDestination:
    dataset: projects/test-project/datasets/my_dataset
    table: my-table
    writeDisposition: write-truncate

以下是针对未能保存查询结果的作业的响应示例:

done: true
error:
  code: 9
  message: '1 errors encountered during query: notFound'
jobReference: CiBqb2JfZWlmOUNsVFQ3b05hVzhpYkdVZ291dkZXc1VFXxIBARj73sbsmLmE1BggAQ

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 '{
          "statement": "
            SELECT
              name, assetType
            FROM
              compute_googleapis_com_Instance
            LIMIT 2",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "writeDisposition": "WRITE_TRUNCATE"
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • BILLING_PROJECT_ID:项目 ID 默认 Cloud Asset Inventory 服务代理所在的,有权管理 BigQuery 数据集和表。 详细了解结算项目

  • PROJECT_ID:需要处理的项目的 ID BigQuery 表所在的位置。

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:您要导出的表 元数据。如果不存在,系统会创建一个。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

其他参数:

  • writeDisposition:指定在以下情况下发生的操作: 通过设置,BigQuery 目标表或分区已存在 写入处置。支持以下值:

    • WRITE_TRUNCATE:如果表或分区已存在, BigQuery 会覆盖整个表或所有分区数据。

    • WRITE_APPEND:如果表或分区已存在, BigQuery 会将数据附加到表或最新分区。

    • WRITE_EMPTY:如果表已存在且包含数据, 作业结果中会返回 duplicate 错误。

    默认值为 WRITE_EMPTY

以下是保存查询的成功请求的响应示例 导出到指定的 BigQuery 目标表:

{
  "jobReference": "CiBqb2JfZmNlbTZ5SjVZcHFKajVIYjMycFNSd2xSRlZXdBIBARiAnb6R1I63wdkB",
  "done": true,
  "outputConfig": {
    "bigqueryDestination": {
      "dataset": "projects/test-project/datasets/my_dataset",
      "table": "my-table",
      "writeDisposition": "WRITE_TRUNCATE"
    }
  }
}

以下是针对未能保存查询结果的作业的响应示例:

{
  "jobReference": "CiBqb2JfZWlmOUNsVFQ3b05hVzhpYkdVZ291dkZXc1VFXxIBARj73sbsmLmE1BggAQ",
  "done": true,
  "error": {
    "code": 9,
    "message": "1 errors encountered during query: notFound"
  }
}

查询响应中不会直接返回架构和行。您可以 在指定的 BigQuery 目标表中查看它们。

查询示例

查询素材资源

以下示例查询项目、文件夹或组织中的资产。

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        name, assetType
      FROM
        compute_googleapis_com_Instance
      LIMIT 2"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

下面是返回所有行的成功请求的示例响应:

done: true
jobReference: CiBqb2JfMkpzOERxN2l5RnRKeWJQRksxWUlmYkxWNTUzbhIBARixoYOcs9T_qcgB
queryResult:
  nextPageToken: ''
  totalRows: '2'

name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME
assetType: compute.googleapis.com/Instance

name: //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME
assetType; compute.googleapis.com/Instance

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 '{
      "statement": "
        SELECT
          name, assetType
        FROM
          compute_googleapis_com_Instance
        LIMIT 2" }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

下面是返回所有行的成功请求的示例响应:

{
  "jobReference": "CiBqb2JfZmNlbTZ5SjVZcHFKajVIYjMycFNSd2xSRlZXdBIBARiAnb6R1I63wdkB",
  "done": true,
  "queryResult": {
    "rows": [...],
    "schema": {...},
    "nextPageToken": "",
    "totalRows": "2"
  }
}

为了便于阅读,架构和行已被移除。您可以使用字段值响应格式查看它们。

跨资源类型查询资源标准元数据

以下示例展示了如何查询资源 一个标准元数据字段nameassetType, 特定区域

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        name,
        assetType
      FROM
        STANDARD_METADATA
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        name,
        assetType
      FROM
        STANDARD_METADATA
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        name,
        assetType
      FROM
        STANDARD_METADATA
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              name,
              assetType
            FROM
              STANDARD_METADATA
            WHERE
              resource.location LIKE \"%asia%\""
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

按作业引用异步提取响应

运行以下超时的命令。

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --timeout="1s" \
    --statement="
    SELECT
      name, assetType
    FROM
      compute_googleapis_com_Instance";

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

当请求未及时完成时,其 done 字段会设置为 false:表示请求未及时完成,但正在进行 处理。下例中的响应表明 请求尚未处理完成

done: false
job_reference: "JOB_REFERENCE_ID"

您可以使用此作业引用 ID 异步获取结果 使用另一个 API 调用:

gcloud asset query \
    --project=PROJECT_ID \
    --job-reference=JOB_REFERENCE_ID

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --timeout="1s" \
    --statement="
    SELECT
      name, assetType
    FROM
      compute_googleapis_com_Instance";

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

当请求未及时完成时,其 done 字段会设置为 false:表示请求未及时完成,但正在进行 处理。下例中的响应表明 请求尚未处理完成

done: false
job_reference: "JOB_REFERENCE_ID"

您可以使用此作业引用 ID 异步获取结果 使用另一个 API 调用:

gcloud asset query \
    --folder=FOLDER_ID \
    --job-reference=JOB_REFERENCE_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --timeout="1s" \
    --statement="
    SELECT
      name, assetType
    FROM
      compute_googleapis_com_Instance";

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

当请求未及时完成时,其 done 字段会设置为 false:表示请求未及时完成,但正在进行 处理。下例中的响应表明 请求尚未处理完成

done: false
job_reference: "JOB_REFERENCE_ID"

您可以使用此作业引用 ID 异步获取结果 使用另一个 API 调用:

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --job-reference=JOB_REFERENCE_ID

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "timeout": "1s",
          "statement": "
            SELECT
              name, assetType
            FROM
              compute_googleapis_com_Instance"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

当请求未及时完成时,其 done 字段会设为 false。 表示请求未及时完成,但正在处理中。通过 以下示例显示了表明请求未完成的响应 处理。

{
  "jobReference": "JOB_REFERENCE_ID",
  "done": false,
  "queryResult": {
    "rows": [],
    "schema": {
      "fields": []
    },
    "nextPageToken": "",
    "totalRows": "0"
  }
}

您可以使用此作业引用 ID 稍后异步获取结果 :

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "jobReference": "JOB_REFERENCE_ID"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

使用 REST API 提取分页请求的下一页结果

执行以下查询,将 pageSize 设置为 1

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "pageSize": "1",
          "statement": "
            SELECT
              name, assetType
            FROM
              compute_googleapis_com_Instance"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

其他参数:

  • pageSize:每页可显示的资源数量上限。

响应具有 nextPageToken,您可以在使用 jobReference 的请求中对其进行设置以获取下一页响应。

{
  "jobReference": "JOB_REFERENCE_ID",
  "done": true,
  "queryResult": {
    "rows": [ ... ],
    "schema": { ... },
    "nextPageToken": "NEXT_PAGE_TOKEN",
    "totalRows": "11"
  }
}

为了便于阅读,架构和行已被移除。您可以使用字段值响应格式查看它们。

您可以通过引用页面令牌来获取下一页结果:

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "jobReference": "JOB_REFERENCE_ID",
          "pageToken": "NEXT_PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

查询每个区域中的虚拟机数量

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        resource.location,
        COUNT(*)
      FROM
        compute_googleapis_com_Instance
      GROUP BY
        resource.location"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        resource.location,
        COUNT(*)
      FROM
        compute_googleapis_com_Instance
      GROUP BY
        resource.location"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        resource.location,
        COUNT(*)
      FROM
        compute_googleapis_com_Instance
      GROUP BY
        resource.location"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              resource.location,
              COUNT(*)
            FROM
              compute_googleapis_com_Instance
            GROUP BY
              resource.location"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

查询以确定特定区域中的虚拟机

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              name,
              resource.DATA.creationTimestamp
            FROM
              compute_googleapis_com_Instance
            WHERE
              resource.location LIKE \"%asia%\""
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

查询以确定每个可公开访问的 Cloud Storage 存储桶

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        name
      FROM
        IAM_POLICY
      CROSS JOIN
        UNNEST(iamPolicy.bindings) AS binding
      WHERE
        ('allUsers' IN UNNEST(binding.members)
        OR 'allAuthenticatedUsers' IN UNNEST(binding.members))
        AND assetType = 'storage.googleapis.com/Bucket'"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        name
      FROM
        IAM_POLICY
      CROSS JOIN
        UNNEST(iamPolicy.bindings) AS binding
      WHERE
        ('allUsers' IN UNNEST(binding.members)
        OR 'allAuthenticatedUsers' IN UNNEST(binding.members))
        AND assetType = 'storage.googleapis.com/Bucket'"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        name
      FROM
        IAM_POLICY
      CROSS JOIN
        UNNEST(iamPolicy.bindings) AS binding
      WHERE
        ('allUsers' IN UNNEST(binding.members)
        OR 'allAuthenticatedUsers' IN UNNEST(binding.members))
        AND assetType = 'storage.googleapis.com/Bucket'"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              name
            FROM
              IAM_POLICY
            CROSS JOIN
              UNNEST(iamPolicy.bindings) AS binding
            WHERE
              (\"allUsers\" IN UNNEST(binding.members)
              OR \"allAuthenticatedUsers\" IN UNNEST(binding.members))
              AND assetType = \"storage.googleapis.com/Bucket\""
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

查询以查找未挂接虚拟机的子网

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        subnetwork_table.name
      FROM
        compute_googleapis_com_Subnetwork AS subnetwork_table
      LEFT JOIN (
        SELECT
          interface.subnetwork AS subnetwork
        FROM
          compute_googleapis_com_Instance
        CROSS JOIN
          UNNEST(resource.DATA.networkInterfaces) AS interface) AS instance_table
      ON
        SUBSTR(subnetwork_table.name, 25) = SUBSTR(instance_table.subnetwork,38)
      WHERE
        instance_table.subnetwork IS NULL
        AND NOT subnetwork_table.name LIKE '%default%'"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        subnetwork_table.name
      FROM
        compute_googleapis_com_Subnetwork AS subnetwork_table
      LEFT JOIN (
        SELECT
          interface.subnetwork AS subnetwork
        FROM
          compute_googleapis_com_Instance
        CROSS JOIN
          UNNEST(resource.DATA.networkInterfaces) AS interface) AS instance_table
      ON
        SUBSTR(subnetwork_table.name, 25) = SUBSTR(instance_table.subnetwork,38)
      WHERE
        instance_table.subnetwork IS NULL
        AND NOT subnetwork_table.name LIKE '%default%'"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        subnetwork_table.name
      FROM
        compute_googleapis_com_Subnetwork AS subnetwork_table
      LEFT JOIN (
        SELECT
          interface.subnetwork AS subnetwork
        FROM
          compute_googleapis_com_Instance
        CROSS JOIN
          UNNEST(resource.DATA.networkInterfaces) AS interface) AS instance_table
      ON
        SUBSTR(subnetwork_table.name, 25) = SUBSTR(instance_table.subnetwork,38)
      WHERE
        instance_table.subnetwork IS NULL
        AND NOT subnetwork_table.name LIKE '%default%'"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              subnetwork_table.name
            FROM
              compute_googleapis_com_Subnetwork AS subnetwork_table
            LEFT JOIN (
              SELECT
                interface.subnetwork AS subnetwork
              FROM
                compute_googleapis_com_Instance
              CROSS JOIN
                UNNEST(resource.DATA.networkInterfaces) AS interface) AS instance_table
            ON
              SUBSTR(subnetwork_table.name, 25) = SUBSTR(instance_table.subnetwork,38)
            WHERE
              instance_table.subnetwork IS NULL
              AND NOT subnetwork_table.name LIKE \"%default%\""
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

查询以查找每个项目中 BigQuery 数据集的数量

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --statement="
      SELECT
        ancestor AS project,
        COUNT(*)
      FROM
        bigquery_googleapis_com_Dataset
      CROSS JOIN
        UNNEST (ancestors) AS ancestor
      WHERE
        ancestor LIKE '%project%'
      GROUP BY
        ancestor
      ORDER BY
        2 DESC"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --statement="
      SELECT
        ancestor AS project,
        COUNT(*)
      FROM
        bigquery_googleapis_com_Dataset
      CROSS JOIN
        UNNEST (ancestors) AS ancestor
      WHERE
        ancestor LIKE '%project%'
      GROUP BY
        ancestor
      ORDER BY
        2 DESC"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --statement="
      SELECT
        ancestor AS project,
        COUNT(*)
      FROM
        bigquery_googleapis_com_Dataset
      CROSS JOIN
        UNNEST (ancestors) AS ancestor
      WHERE
        ancestor LIKE '%project%'
      GROUP BY
        ancestor
      ORDER BY
        2 DESC"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              ancestor AS project,
              COUNT(*)
            FROM
              bigquery_googleapis_com_Dataset
            CROSS JOIN
              UNNEST (ancestors) AS ancestor
            WHERE
              ancestor LIKE \"%project%\"
            GROUP BY
              ancestor
            ORDER BY
              2 DESC"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

查询以确定特定区域中特定时间戳的虚拟机

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --snapshot-time="SNAPSHOT_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 查询所需的元数据

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去 35 天内的某个时间。不可以 系统会在当前时间截取快照。如需了解 时间格式,请参阅 gcloud topic 日期时间

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --snapshot-time="SNAPSHOT_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 查询所需的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去 35 天内的某个时间。不可以 系统会在当前时间截取快照。如需了解 时间格式,请参阅 gcloud topic 日期时间

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --snapshot-time="SNAPSHOT_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance
      WHERE
        resource.location LIKE '%asia%'"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 查询其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去 35 天内的某个时间。不可以 系统会在当前时间截取快照。如需了解 时间格式,请参阅 gcloud topic 日期时间

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              name,
              resource.DATA.creationTimestamp
            FROM
              compute_googleapis_com_Instance
            WHERE
              resource.location LIKE \"%asia%\"",
          "readTime": "SNAPSHOT_TIME"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • SNAPSHOT_TIME:可选。您执行这一操作时 需要截取资产快照(采用 RFC 3339 格式)。 该值必须是当前时间或 。如果未提供,则会在当前时间截取快照。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

确定特定时间范围内虚拟机更改历史记录的查询

gcloud

项目

gcloud asset query \
    --project=PROJECT_ID \
    --start-time="START_TIME" \
    --end-time="END_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 列出所需资源

  • START_TIME:可选。 时间范围。时间范围上限为 7 天。该值必须是 当前时间或过去 35 天内的某个时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

  • END_TIME:可选。介绍 时间范围时间范围上限为 7 天。该值必须为 当前时间或过去 35 天内的某个时间。不可以 则假定结束时间为当前时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

文件夹

gcloud asset query \
    --folder=FOLDER_ID \
    --start-time="START_TIME" \
    --end-time="END_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 列出所需资源

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    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)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • START_TIME:可选。 时间范围。时间范围上限为 7 天。该值必须是 当前时间或过去 35 天内的某个时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

  • END_TIME:可选。介绍 时间范围时间范围上限为 7 天。该值必须为 当前时间或过去 35 天内的某个时间。不可以 则假定结束时间为当前时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

组织

gcloud asset query \
    --organization=ORGANIZATION_ID \
    --start-time="START_TIME" \
    --end-time="END_TIME" \
    --statement="
      SELECT
        name,
        resource.DATA.creationTimestamp
      FROM
        compute_googleapis_com_Instance"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 列出其资源

    如何查找 Google Cloud 组织 ID

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击选择范围框,然后选择您的组织。
    4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

    gcloud CLI

    您可以使用以下命令检索 Google Cloud 组织 ID:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • START_TIME:可选。 时间范围。时间范围上限为 7 天。该值必须是 当前时间或过去 35 天内的某个时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

  • END_TIME:可选。介绍 时间范围时间范围上限为 7 天。该值必须为 当前时间或过去 35 天内的某个时间。不可以 则假定结束时间为当前时间。对于 如需了解时间格式,请参阅 gcloud topic 日期时间

REST

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "statement": "
            SELECT
              name,
              resource.DATA.creationTimestamp
            FROM
              compute_googleapis_com_Instance",
          "readTimeWindow": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:queryAssets

请提供以下值:

  • START_TIME:可选。全部 范围。时间范围上限为 7 天。该值必须是当前的 时间或不超过 35 天前的某个时间。如需了解 格式,请参阅 gcloud topic 日期时间

  • END_TIME:可选。本次培训的 时间范围。时间范围上限为 7 天。该值必须是 当前时间或过去 35 天内的某个时间。不可以 则假定结束时间为当前时间。相关信息 有关时间格式的信息,请参阅 gcloud topic 日期时间

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 Google Cloud 项目编号,请完成以下步骤:

      1. 前往 Google Cloud 控制台中的信息中心页面。

        转到信息中心

      2. 点击菜单栏中的切换器框。
      3. 请选择:框中选择您的组织,然后搜索您的 项目名称。
      4. 点击项目名称以切换到相应项目。项目编号显示在 项目信息卡片。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 项目编号:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      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)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击选择范围框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"