É possível pesquisar recursos em um projeto, uma pasta ou uma organização e filtrar os resultados retornados usando uma consulta.
Antes de começar
Ative a API Cloud Asset Inventory no projeto em que você está executando os comandos do Inventário de recursos do Cloud.
Verifique se sua conta tem a função correta para chamar a API Cloud Asset Inventory. Para conferir as permissões individuais de cada tipo de chamada, consulte Permissões.
Criar uma consulta
Antes de criar uma consulta, é útil começar com uma solicitação de pesquisa que não especifica uma consulta. Use os campos e valores da resposta completa para criar uma consulta usando a sintaxe de consulta de pesquisa e refine-a até que os resultados desejados sejam retornados.
Os campos que podem ser usados em uma consulta estão detalhados na documentação de referência do searchAllResources.
Nem todos os recursos podem ser pesquisados. Consulte Tipos de recursos para conferir os nomes de recursos e verificar se eles estão disponíveis para as APIs de pesquisa.
Pesquisar seus recursos
Console
Para pesquisar metadados de recursos, siga estas etapas.
-
Acesse a página Inventário de recursos no console do Google Cloud .
- Mude para o projeto, a pasta ou a organização que você quer pesquisar.
- Clique na guia Recurso.
-
Para pesquisar recursos, insira uma consulta no campo Filtro. Consulte Sintaxe de consulta de pesquisa para saber como escrever uma consulta de pesquisa.
Para facilitar a criação de consultas, clique no campo Filtro para mostrar e adicionar os campos pesquisáveis disponíveis à sua consulta.
Depois de fazer uma pesquisa, os recursos correspondentes à consulta são listados na tabela Resultados. Clique duas vezes na consulta para editá-la ou use o painel Filtrar resultados para restringir os resultados da pesquisa por critérios específicos.
Para ver a consulta como um comando da Google Cloud CLI, clique em Ver consulta.
Para exportar os resultados, clique em Fazer o download do CSV.
gcloud
gcloud asset search-all-resources \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY" \ --read-mask="READ_MASK"
Forneça os valores a seguir:
-
SCOPE_PATH: use um dos seguintes valores:Os valores permitidos são:
-
projects/PROJECT_ID, em quePROJECT_IDé o ID do projeto que tem os recursos que você quer pesquisar. -
projects/PROJECT_NUMBER, em quePROJECT_NUMBERé o número do projeto que tem os recursos que você quer pesquisar.Como encontrar um Google Cloud número do projeto
Console doGoogle Cloud
Para encontrar o número de um projeto Google Cloud , siga estas etapas:
-
Acesse a página Boas-vindas no console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
-
Selecione sua organização na caixa de listagem e pesquise o nome do projeto. O nome, o número e o ID do projeto são mostrados perto do título Bem-vindo.
Até 4.000 recursos são exibidos. Se você não encontrar o projeto que está procurando, acesse a página Gerenciar recursos e filtre a lista usando o nome dele.
CLI da gcloud
É possível extrair um número de Google Cloud projeto com o seguinte comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, em queFOLDER_IDé o ID da pasta que tem os recursos que você quer pesquisar.Como encontrar o ID de uma Google Cloud pasta
Console doGoogle Cloud
Para encontrar o ID de uma pasta do Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
- Selecione sua organização na caixa de listagem.
- Pesquise o nome da pasta. O ID da pasta aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma pasta Google Cloud localizada no nível da organização, use o seguinte 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)"
Em que TOP_LEVEL_FOLDER_NAME é uma correspondência de string parcial ou completa para o nome da pasta. Remova a flag
--formatpara ver mais informações sobre as pastas encontradas.O comando anterior não retorna os IDs das subpastas dentro das pastas. Para isso, execute o seguinte comando usando o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, em queORGANIZATION_IDé o ID da organização que tem os recursos que você quer pesquisar.Como encontrar o ID de uma Google Cloud organização
Console doGoogle Cloud
Para encontrar o ID de uma organização Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
- Selecione sua organização na caixa de listagem.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma organização Google Cloud , use o seguinte comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY: opcional. A expressão de consulta. Se não for especificado ou estiver vazio, todos os recursos serão pesquisados no escopo especificado. Para saber como escrever uma consulta de pesquisa, consulte Sintaxe de consulta de pesquisa. ASSET_TYPE_#: opcional. Uma lista separada por vírgulas de tipos de recursos pesquisáveis. Expressões regulares compatíveis com RE2 são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erroINVALID_ARGUMENTserá retornado. Quando--asset-typesnão é especificado, todos os tipos de recursos são retornados.-
ORDER_BY: opcional. Uma lista de campos separada por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. AdicioneDESCdepois do nome do campo para indicar a ordem decrescente. Consulte a documentação de referência para saber quais campos podem ser classificados. READ_MASK: opcional. Uma lista separada por vírgulas de campos especificando quais campos devem ser retornados nos resultados. Consulte os campos retornados por padrão e outras condições a serem consideradas ao especificar uma máscara de leitura.
É possível usar as flags --format e
--flatten para formatar a saída da
CLI gcloud.
Consulte a referência da CLI gcloud para todas as opções.
Exemplo
Execute o comando a seguir para receber uma lista de todas as instâncias do Compute Engine no projeto my-project com a palavra instance seguida por um 1 no nome completo do recurso. Os resultados estão em ordem decrescente por nome e, devido à máscara de leitura, apenas os campos name e location são retornados.
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="name:instance 1" \ --asset-types=compute.googleapis.com/Instance \ --order-by="name DESC" \ --read-mask="name,location"
Exemplo de resposta
--- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1 --- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllResources
Corpo JSON da solicitação:
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN", "readMask": "READ_MASK" }
Forneça os valores a seguir:
-
SCOPE_PATH: use um dos seguintes valores:Os valores permitidos são:
-
projects/PROJECT_ID, em quePROJECT_IDé o ID do projeto que tem os recursos que você quer pesquisar. -
projects/PROJECT_NUMBER, em quePROJECT_NUMBERé o número do projeto que tem os recursos que você quer pesquisar.Como encontrar um Google Cloud número do projeto
Console doGoogle Cloud
Para encontrar o número de um projeto Google Cloud , siga estas etapas:
-
Acesse a página Boas-vindas no console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
-
Selecione sua organização na caixa de listagem e pesquise o nome do projeto. O nome, o número e o ID do projeto são mostrados perto do título Bem-vindo.
Até 4.000 recursos são exibidos. Se você não encontrar o projeto que está procurando, acesse a página Gerenciar recursos e filtre a lista usando o nome dele.
CLI da gcloud
É possível extrair um número de Google Cloud projeto com o seguinte comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID, em queFOLDER_IDé o ID da pasta que tem os recursos que você quer pesquisar.Como encontrar o ID de uma Google Cloud pasta
Console doGoogle Cloud
Para encontrar o ID de uma pasta do Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
- Selecione sua organização na caixa de listagem.
- Pesquise o nome da pasta. O ID da pasta aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma pasta Google Cloud localizada no nível da organização, use o seguinte 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)"
Em que TOP_LEVEL_FOLDER_NAME é uma correspondência de string parcial ou completa para o nome da pasta. Remova a flag
--formatpara ver mais informações sobre as pastas encontradas.O comando anterior não retorna os IDs das subpastas dentro das pastas. Para isso, execute o seguinte comando usando o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID, em queORGANIZATION_IDé o ID da organização que tem os recursos que você quer pesquisar.Como encontrar o ID de uma Google Cloud organização
Console doGoogle Cloud
Para encontrar o ID de uma organização Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem do switcher na barra de menu.
- Selecione sua organização na caixa de listagem.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma organização Google Cloud , use o seguinte comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY: opcional. A expressão de consulta. Se não for especificado ou estiver vazio, todos os recursos serão pesquisados no escopo especificado. Para saber como escrever uma consulta de pesquisa, consulte Sintaxe de consulta de pesquisa. ASSET_TYPE_#: opcional. Uma matriz de tipos de recursos pesquisáveis. Expressões regulares compatíveis com RE2 são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erroINVALID_ARGUMENTserá retornado. QuandoassetTypesnão é especificado, todos os tipos de recursos são retornados.-
ORDER_BY: opcional. Uma lista de campos separada por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. AdicioneDESCdepois do nome do campo para indicar a ordem decrescente. Consulte a documentação de referência para saber quais campos podem ser classificados. -
PAGE_SIZE: opcional. O número de resultados a serem retornados por página. O valor máximo é 500. Se o valor for0ou um valor negativo, um padrão apropriado será selecionado. UmnextPageTokené retornado para recuperar resultados subsequentes. -
PAGE_TOKEN: opcional. Respostas longas são separadas em várias páginas. QuandopageTokennão é especificado, a primeira página é retornada. As páginas subsequentes podem ser chamadas usando onextPageTokenda resposta anterior como o valor depageToken. READ_MASK: opcional. Uma lista separada por vírgulas de campos especificando quais campos devem ser retornados nos resultados. Consulte os campos retornados por padrão e outras condições a serem consideradas ao especificar uma máscara de leitura.
Consulte a referência REST para todas as opções.
Exemplos de comandos
Execute um dos comandos a seguir para receber uma lista de todas as instâncias do Compute Engine no projeto my-project com a palavra instance seguida por um 1 no nome completo do recurso. Os resultados são apresentados em ordem decrescente por nome, e apenas os campos name e location são retornados.
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Exemplo de resposta
{ "results": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1", "location": "us-central1-a" }, { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "location": "us-central1-a" } ] }
C#
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.