Exportar a BigQuery

En este tema, se muestra cómo exportar los metadatos de activo de tu organización, carpeta o proyecto a una tabla de BigQuery y, luego, ejecutar un análisis de datos en tu inventario. BigQuery brinda una experiencia similar a SQL para que los usuarios analicen datos y generen estadísticas significativas sin usar secuencias de comandos personalizadas.

Antes de comenzar

Antes de comenzar, completa los pasos que se indican a continuación.

  1. Habilita la API de Cloud Asset Inventory en el proyecto en el que ejecutarás los comandos de la API.

    Habilita la API de Cloud Asset Inventory

  2. Configura los permisos necesarios para llamar a la API de Cloud Asset Inventory con gcloud CLI o la API

  3. Completa los siguientes pasos para configurar el entorno.

    gcloud CLI

    Para configurar tu entorno de modo que use gcloud CLI para llamar al API de Cloud Asset Inventory, instala Google Cloud CLI en tu cliente local.

    REST

    Para configurar tu entorno a fin de llamar a la API de Cloud Asset Inventory con el comando curl, completa los siguientes pasos.

    1. Confirma que tienes acceso al comando curl.

    2. Asegúrate de otorgar a tu cuenta uno de los siguientes roles en tu proyecto, carpeta o organización.

      • Función de visualizador de Cloud Asset (roles/cloudasset.viewer)

      • Función básica de propietario (roles/owner)

  4. Si quieres exportar metadatos de un proyecto a otro, asegúrate de que exportando el nombre Existe una cuenta de servicio de Cloud Asset Inventory predeterminada y tiene los permisos correctos.

  5. Crea un conjunto de datos de BigQuery.

Limitaciones

Cuando exportes una instantánea de un activo, ten en cuenta lo siguiente:

  • Tablas de BigQuery encriptadas con Cloud Key Management Service personalizado (Cloud KMS) no son compatibles.

  • No se admite agregar el resultado de la exportación a una tabla existente, a menos que se exportan a una tabla particionada. El destino la tabla debe estar vacía o debes reemplazarla. Para reemplazarlo, usa La marca --output-bigquery-force con gcloud CLI o usa force con la API de REST.

  • tipos de recursos de Google Kubernetes Engine (GKE), excepto container.googleapis.com/Cluster y container.googleapis.com/NodePool, no son compatibles cuando se exportan a tablas separadas por tipo de recurso.

  • Si la tabla a la que quieres exportar ya existe y se está exportando se muestra un error 400.

Configura el esquema de BigQuery para la exportación

A cada tabla de BigQuery se define en un esquema que describe los nombres de las columnas, los tipos de datos y otra información. Configurar el tipo de contenido durante la exportación determina el esquema para tu tabla.

  • Recurso o sin especificar: cuando estableces el tipo de contenido en RESOURCE. no lo especificas, y estableces la marca per-asset-type en false o no lo usas, debes crear una tabla de BigQuery con el siguiente esquema.

    Esquema de recursos

    [
      {
        "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"
      }
    ]

    La columna resource.data corresponde a los metadatos de los recursos que se representan como un archivo JSON. una cadena vacía.

    Cuando configuras el tipo de contenido en RESOURCE o no lo configuras, y estableces la marca per-asset-type en true, creas tablas separadas por tipo de recurso. El esquema de cada tabla incluye columnas de tipo RECORD asignadas a los campos anidados en el Resource.data de ese tipo de recurso (hasta los 15 niveles anidados que admite BigQuery). Para BigQuery por tipo tablas de ejemplo, consulta projects/export-assets-examples/datasets/structured_export.

  • Política de IAM: Cuando estableces el tipo de contenido en IAM_POLICY en la API de REST o iam-policy en la CLI de gcloud, creas una tabla de BigQuery que tiene el siguiente esquema.

    Esquema de política de 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"
      }
    ]
  • Política de la organización: Al establecer el tipo de contenido como ORG_POLICY en el API de REST o org-policy en gcloud CLI, debes crear un Tabla de BigQuery que tiene el siguiente esquema.

    Esquema de políticas de la organización

    [
      {
        "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"
      }
    ]
  • Política de VPCSC: Cuando configuras el tipo de contenido como ACCESS_POLICY en la API de REST o access-policy en gcloud CLI, debes crear un Tabla de BigQuery que tiene el siguiente esquema.

    Esquema de políticas de 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"
      }
    ]
  • Inventario de instancias de OSConfig: Cuando configuras el tipo de contenido como OS_INVENTORY en la API de REST o os-inventory en la CLI de gcloud, creas una tabla de BigQuery que tiene el siguiente esquema.

    Esquema del inventario del SO

    [
      {
        "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"
      }
    ]
  • Relación: Cuando configuras el tipo de contenido en RELATIONSHIP en la API de REST o relationship en gcloud CLI, debes crear BigQuery que tenga el siguiente esquema.

    Esquema de relación

    [
      {
        "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"
      }
    ]

Exporta una instantánea de los recursos a BigQuery

Cómo exportar recursos en una marca de tiempo determinada

Exportar la instantánea de un recurso en una marca de tiempo determinada a BigQuery tabla llamada TABLE_NAME, crea una de las siguientes solicitudes.

gcloud

Proyectos

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

Ingresa los siguientes valores:

  • PROJECT_ID: Es el ID del proyecto en el metadatos que quieres exportar.

  • BILLING_PROJECT_ID: Opcional Es el ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido access-policy solo se puede exportar para un organización. Si los exportas para un proyecto o una carpeta, se abrirá un espacio una tabla de particiones.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser la hora actual o una hora que no sea superior a 35 días. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

Carpetas

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

Ingresa los siguientes valores:

  • FOLDER_ID: El ID de la carpeta cuyos metadatos deseas exportar.

    Cómo encontrar un ID de carpeta de Google Cloud

    Console

    Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ir a la consola de Google Cloud

    2. Haz clic en el cuadro de selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

    gcloud CLI

    Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

    Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

    Para obtener el ID de una carpeta dentro de otra, enumera las subcarpetas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Opcional Es el ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido access-policy solo se puede exportar para un organización. Si los exportas para un proyecto o una carpeta, se abrirá un espacio una tabla de particiones.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si existe.

Organizaciones

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

Ingresa los siguientes valores:

  • ORGANIZATION_ID: Es el ID de la organización. cuyos metadatos quieres exportar.

    Cómo encontrar un ID de organización de Google Cloud

    Console

    Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ir a la consola de Google Cloud

    2. Haz clic en el cuadro de selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

    gcloud CLI

    Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser la hora actual o una hora que no sea superior a 35 días. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

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

Ingresa los siguientes valores:

  • BILLING_PROJECT_ID: El ID del proyecto que el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar de tus conjuntos de datos y tablas de BigQuery. Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido ACCESS_POLICY solo se puede exportar para una organización. Si lo exportas para un proyecto o una carpeta, se creará una tabla vacía.

  • SNAPSHOT_TIME: Opcional La hora a la que Si quieres tomar una instantánea de tus recursos en formato RFC 3339. El valor debe ser la hora actual o una hora no superior a 35 días en la en el pasado. Cuando no se proporciona, se toma una instantánea a la hora actual.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: El ID de BigQuery de tu conjunto de datos.

  • TABLE_NAME Es la tabla a la que exportarás los metadatos. Si no existe, se crea.

  • SCOPE: Un permiso puede ser un proyecto, una carpeta o un organización.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Cómo encontrar un número de proyecto de Google Cloud

      Console

      Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:

      1. Ve a la página Panel en la consola de Google Cloud.

        Ir al panel

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiar a él. El número de proyecto se muestra Tarjeta Información del proyecto

      gcloud CLI

      Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:

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

    • folders/FOLDER_ID

      Cómo encontrar un ID de carpeta de Google Cloud

      Console

      Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

      gcloud CLI

      Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

      Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

      Para obtener el ID de una carpeta dentro de otra carpeta, enumera las subcarpetas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Cómo encontrar un ID de organización de Google Cloud

      Console

      Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

      gcloud CLI

      Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

Otros parámetros:

  • "force": true: Reemplaza la tabla de destino, si existe.

Exportar tablas separadas para cada tipo de recurso

Para exportar recursos a tablas de BigQuery separadas para cada tipo de recurso, sigue estos pasos: usa la marca --per-asset-type. El nombre de cada tabla es TABLE_NAME se concatena con _ (guion bajo) y el nombre del tipo de recurso. Los caracteres que no son alfanuméricos se reemplazan por _.

Ten en cuenta que los tipos de recursos de GKE, excepto container.googleapis.com/Cluster y container.googleapis.com/NodePool, no son compatibles con este tipo de exportación.

gcloud

Proyectos

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

Ingresa los siguientes valores:

  • PROJECT_ID: Es el ID del proyecto en el metadatos que quieres exportar.

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del activo. El tipo de contenido access-policy solo se puede exportar para un organización. Si los exportas para un proyecto o una carpeta, se abrirá un espacio una tabla de particiones.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser la hora actual o una hora que no sea superior a 35 días. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

  • --per-asset-type: Exportaciones a varias tablas de BigQuery por tipo de recurso.

Carpetas

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

Ingresa los siguientes valores:

  • FOLDER_ID: El ID de la carpeta cuyos metadatos deseas exportar.

    Cómo encontrar un ID de carpeta de Google Cloud

    Console

    Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ir a la consola de Google Cloud

    2. Haz clic en el cuadro del selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

    gcloud CLI

    Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

    Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

    Para obtener el ID de una carpeta dentro de otra, enumera las subcarpetas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido access-policy solo se puede exportar para un organización. Si los exportas para un proyecto o una carpeta, se abrirá un espacio una tabla de particiones.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la tabla de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

  • --per-asset-type: Exportaciones a varias tablas de BigQuery por tipo de recurso.

Organizaciones

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

Ingresa los siguientes valores:

  • ORGANIZATION_ID: Es el ID de la organización. para las que quieres obtener estadísticas.

    Cómo encontrar el ID de una organización de Google Cloud

    Console

    Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ir a la consola de Google Cloud

    2. Haz clic en el cuadro de selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

    gcloud CLI

    Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

  • --per-asset-type: Exportaciones a varias tablas de BigQuery por tipo de recurso.

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

Ingresa los siguientes valores:

  • BILLING_PROJECT_ID: El ID del proyecto que el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar de tus conjuntos de datos y tablas de BigQuery. Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido ACCESS_POLICY solo se puede exportar para una organización. Si la exportas a un proyecto o una carpeta, se crea una tabla vacía.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos en formato RFC 3339. El valor debe ser la hora actual o una hora no superior a 35 días en la en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

  • SCOPE: Un permiso puede ser un proyecto, una carpeta o un organización.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Cómo encontrar un número de proyecto de Google Cloud

      Console

      Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:

      1. Ve a la página Panel en la consola de Google Cloud.

        Ir al panel

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiar a él. El número de proyecto se muestra Tarjeta Información del proyecto

      gcloud CLI

      Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:

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

    • folders/FOLDER_ID

      Cómo encontrar un ID de carpeta de Google Cloud

      Console

      Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

      gcloud CLI

      Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

      Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

      Para obtener el ID de una carpeta dentro de otra carpeta, enumera las subcarpetas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Cómo encontrar un ID de organización de Google Cloud

      Console

      Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

      gcloud CLI

      Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

Otros parámetros:

  • "force": true: Reemplaza la tabla de destino, si existe.

Si la exportación a alguna tabla falla, toda la operación de exportación falla y muestra el primer error. Se conservan los resultados de las exportaciones exitosas anteriores.

Los siguientes tipos se empaquetan en una cadena JSON para superar una compatibilidad entre JSON3 y Tipos de BigQuery.

  • google.protobuf.Timestamp

  • google.protobuf.Duration

  • google.protobuf.FieldMask

  • google.protobuf.ListValue

  • google.protobuf.Value

  • google.protobuf.Struct

  • google.api.*

Exporta a una tabla particionada

Para exportar recursos en un proyecto a tablas particionadas, definir la clave de partición en la solicitud de exportación. La instantánea exportada se almacena en una tabla de BigQuery llamada TABLE_NAME con nivel de detalle diario y dos columnas adicionales de marca de tiempo, readTime y requestTime, uno de los cuales se especifica mediante PARTITION_KEY.

Para exportar activos en un proyecto a tablas particionadas, realiza una de las siguientes solicitudes.

gcloud

Proyectos

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

Ingresa los siguientes valores:

  • PROJECT_ID: Es el ID del proyecto en el metadatos que quieres exportar.

  • BILLING_PROJECT_ID: Opcional Es el ID del proyecto en el que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No es obligatorio si ya cambiaste al proyecto de facturación con gcloud config set project. Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido access-policy solo se puede exportar para un organización. Si los exportas para un proyecto o una carpeta, se abrirá un espacio una tabla de particiones.

  • SNAPSHOT_TIME: Opcional Es la hora en la que quieres tomar una instantánea de tus activos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: Es la tabla a la que se exportarán los metadatos. Si no existe, se crea.

  • PARTITION_KEY: La columna de clave de partición cuando exportes a tablas particionadas de BigQuery. Válida los valores son read-time y request-time.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si esta existe.

Carpetas

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

Ingresa los siguientes valores:

  • FOLDER_ID: El ID de la carpeta cuyos metadatos deseas exportar.

    Cómo encontrar un ID de carpeta de Google Cloud

    Console

    Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ve a la consola de Google Cloud

    2. Haz clic en el cuadro de selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

    gcloud CLI

    Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

    Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

    Para obtener el ID de una carpeta dentro de otra, enumera las subcarpetas:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No es obligatorio si ya cambiaste al proyecto de facturación con gcloud config set project. Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido access-policy solo se puede exportar para un organización. Si lo exportas a un proyecto o una carpeta, se creará una tabla vacía.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la tabla de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

  • PARTITION_KEY: La columna de clave de partición cuando exportes a tablas particionadas de BigQuery. Los valores válidos son read-time y request-time.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si existe.

Organización

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

Ingresa los siguientes valores:

  • ORGANIZATION_ID: Es el ID de la organización. para las que quieres obtener estadísticas.

    Cómo encontrar el ID de una organización de Google Cloud

    Console

    Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

    1. Ve a la consola de Google Cloud.

      Ir a la consola de Google Cloud

    2. Haz clic en el cuadro de selector en la barra de menú.
    3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
    4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

    gcloud CLI

    Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

  • BILLING_PROJECT_ID: Opcional El ID del proyecto que se encuentra el agente de servicio predeterminado de Cloud Asset Inventory y que tiene permisos para administrar tus conjuntos de datos y tablas de BigQuery. No se requiere si ya cambiaste al proyecto de facturación con gcloud config set project Obtén más información sobre los proyectos de facturación.

  • CONTENT_TYPE: Es el tipo de contenido del elemento.

  • SNAPSHOT_TIME: Opcional La hora a la que si quieres tomar una instantánea de tus recursos. El valor debe ser el hora actual o de no más de 35 días en el pasado. Cuando no se toma una instantánea en ese momento. Para obtener información sobre consulta gcloud topic datetimes.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • DATASET_ID: el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: La tabla en la que deseas exportar metadatos. Si no existe, se crea.

  • PARTITION_KEY: La columna de clave de partición cuando exportes a tablas particionadas de BigQuery. Válida los valores son read-time y request-time.

Otras marcas:

  • --output-bigquery-force: Reemplaza la tabla de destino si existe.

Si la marca output-bigquery-force se establece en true, el valor correspondiente los resultados de la instantánea reemplazan la partición, pero los datos de uno o más diferentes particiones permanezca intacta. Si no estableces output-bigquery-force o false, agrega los datos a la partición correspondiente.

La operación de exportación falla si falla una actualización del esquema o un intento de adjuntar datos. Esto incluye si la tabla de destino ya existe y no tiene la el esquema que la exportación espera.

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

Ingresa los siguientes valores:

  • BILLING_PROJECT_ID: El ID del proyecto que el agente de servicio predeterminado de Cloud Asset Inventory que tiene permisos para administrar de tus conjuntos de datos y tablas de BigQuery. Obtén más información sobre los proyectos de facturación.

  • PROJECT_ID: El ID del proyecto en el que de BigQuery.

  • CONTENT_TYPE: Es el tipo de contenido del elemento. El tipo de contenido ACCESS_POLICY solo se puede exportar para una organización. Si lo exportas para un proyecto o una carpeta, se creará una tabla vacía.

  • SNAPSHOT_TIME: Opcional La hora a la que Si quieres tomar una instantánea de tus recursos en formato RFC 3339. El valor debe ser la hora actual o una hora no superior a 35 días en la en el pasado. Si no se proporciona, se toma una instantánea en el momento actual.

  • DATASET_ID: Es el ID del conjunto de datos de BigQuery.

  • TABLE_NAME: ¿Es la tabla a la que quieres exportar? metadatos. Si no existe, se crea.

  • PARTITION_KEY: Es la columna de clave de partición cuando se exporta a tablas particionadas de BigQuery. Valores válidos son read-time y request-time.

  • SCOPE: Un permiso puede ser un proyecto, una carpeta o un organización.

    Los valores permitidos son los siguientes:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Cómo encontrar un número de proyecto de Google Cloud

      Console

      Para encontrar un número de proyecto de Google Cloud, completa los siguientes pasos:

      1. Ve a la página Panel en la consola de Google Cloud.

        Ir al panel

      2. Haz clic en el cuadro de selector en la barra de menú.
      3. Selecciona tu organización en el cuadro Seleccionar una opción y, luego, busca tu el nombre del proyecto.
      4. Haz clic en el nombre del proyecto para cambiar a él. El número de proyecto se muestra Tarjeta Información del proyecto

      gcloud CLI

      Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:

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

    • folders/FOLDER_ID

      Cómo encontrar un ID de carpeta de Google Cloud

      Console

      Para encontrar un ID de carpeta de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ir a la consola de Google Cloud

      2. Haz clic en el cuadro del selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Busca el nombre de tu carpeta. El ID de la carpeta se muestra junto al nombre de la carpeta.

      gcloud CLI

      Puedes recuperar un ID de carpeta de Google Cloud que se encuentra a nivel de la organización con el siguiente comando:

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

      Donde TOP_LEVEL_FOLDER_NAME puede ser una coincidencia de cadena completa o parcial. Quita el --format para ver más información sobre las carpetas encontradas.

      Para obtener el ID de una carpeta dentro de otra carpeta, enumera las subcarpetas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Cómo encontrar un ID de organización de Google Cloud

      Console

      Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:

      1. Ve a la consola de Google Cloud.

        Ve a la consola de Google Cloud

      2. Haz clic en el cuadro del selector en la barra de menú.
      3. Haz clic en el cuadro Seleccionar una opción y, luego, selecciona tu organización.
      4. Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.

      gcloud CLI

      Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:

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

Otros parámetros:

  • "force": true: Reemplaza la tabla de destino, si existe. Solo esto funciona si la tabla tiene la misma estructura de partición que espera el exportar.

    Si force se establece en true, los resultados de la instantánea reemplazarán la partición correspondiente, mientras que los datos de las diferentes particiones permanecerán intactos. Si no estableces force o la estableces como false, los datos se agregan a en la partición correspondiente.

La operación de exportación falla si se actualiza un esquema o se intentan adjuntar datos. falla. Esto incluye si la tabla de destino ya existe y todavía no existe. tenga el esquema que la exportación espera.

Verifica el estado de una exportación

Las operaciones se asocian a un ID de operación, que es un UUID. Este valor es potencialmente sensible, ya que el comando de gcloud asset operations describe no requiere permisos adicionales para ejecutarse correctamente. Asegúrate de que Solo compartes el ID de operación con usuarios de confianza.

El servidor rechaza las solicitudes si se trata de una solicitud anterior al mismo destino comenzó hace menos de 15 minutos y sigue ejecutándose. Los resultados indefinidos pueden si el tiempo de exportación es superior a 15 minutos y una solicitud consecutiva a se ejecuta el mismo destino antes de que la primera solicitud se realice correctamente.

Para verificar el estado de una exportación, ejecuta los siguientes comandos.

gcloud CLI

Para verificar el estado de la exportación, puedes ejecutar el siguiente comando. El Se muestra OPERATION_PATH en la respuesta después de ejecutando el comando de exportación.

gcloud asset operations describe OPERATION_PATH

REST

Para ver el estado de tu exportación, ejecuta el siguiente comando con el ID de operación que se muestra en la respuesta a tu exportación.

  1. Puedes encontrar OPERATION_PATH en name. campo de la respuesta a la exportación, que tiene el siguiente formato:

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
    
  2. Para verificar el estado de la exportación, ejecuta el siguiente comando con 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
    

Visualiza la instantánea de un activo

Para ver la tabla que contiene los metadatos de la instantánea de activos, completa los siguientes pasos.

Console

  1. Ve a la página de BigQuery Studio en la consola de Google Cloud.

    Ve a BigQuery Studio

  2. Para mostrar las tablas y vistas en el conjunto de datos, abre la barra de navegación. panel. En la sección Recursos, selecciona tu proyecto para expandirlo y, luego, selecciona un conjunto de datos.

  3. En la lista, selecciona tu tabla.

  4. Selecciona Detalles y anota el valor de Número de filas. Quizás necesitas este valor para controlar el punto de partida de tus resultados usando la gcloud CLI o la API de REST.

  5. Para ver una muestra del conjunto de datos, selecciona Vista previa.

REST

Para explorar los datos de tu tabla, llama a tabledata.list. En el parámetro tableId, especifica el nombre de tu tabla.

Puedes configurar los siguientes parámetros opcionales para controlar el resultado.

  • maxResults es la cantidad máxima de resultados que se mostrarán.

  • selectedFields es una lista de las columnas separadas por comas que se mostrarán, si no se especifica, se mostrarán todas las columnas.

  • startIndex es el índice basado en cero de la fila inicial que se leerá.

Los valores se muestran unidos en un objeto JSON que debes analizar, como se describe en la documentación de referencia de tabledata.list.

La exportación enumera los recursos y sus nombres de recurso.

Consulta una instantánea de activos

Después de exportar la instantánea a BigQuery, puedes ejecutar consultas en los metadatos de tus activos. Consulta Exporta a BigQuery las consultas de muestra para obtener más información sobre varios casos de uso típicos.

De manera predeterminada, BigQuery ejecuta trabajos de consulta interactivos a pedido, lo que significa que la consulta se ejecuta en cuanto sea posible. Las consultas interactivas se toman en cuenta para tu límite de frecuencia simultánea y límite diario.

Los resultados de las consultas se guardan en una tabla temporal o permanente. Puedes agregar o reemplazar datos en una tabla existente o crear una tabla nueva, si no existe una con el mismo nombre.

Para ejecutar una consulta interactiva que escribe el resultado en una tabla temporal, completa los siguientes pasos.

Console

  1. Ve a la página de BigQuery Studio en la consola de Google Cloud.

    Ve a BigQuery Studio

  2. Seleccionar Redactar consulta nueva

  3. En el área de texto del Editor de consultas, ingresa una consulta de SQL de BigQuery válida.

  4. Opcional: Para cambiar la ubicación de procesamiento de datos, completa los los siguientes pasos.

    1. Selecciona Más y, luego, Configuración de consulta.

    2. En Ubicación de procesamiento, selecciona Selección automática y, luego, elige la ubicación de tus datos.

    3. Para actualizar la configuración de la consulta, selecciona Guardar.

  5. Selecciona Run.

REST

  1. Para iniciar un trabajo nuevo, llama a jobs.insert. . En el recurso de trabajo, establece los siguientes parámetros.

    • En el campo configuration, configura el campo query como una JobConfigurationQuery que describa el trabajo de consulta de BigQuery.

    • En el campo jobReference, configura el campo location de forma adecuada para tu trabajo.

  2. Para consultar los resultados, llama a getQueryResults. Busca hasta que jobComplete sea igual a true. Puedes comprobar si hay errores y advertencias en la lista errors.