Esta página foi traduzida pela API Cloud Translation.
Switch to English

Sintaxe da consulta

Para pesquisar recursos, é possível filtrar os resultados da pesquisa especificando um FIELD, um operador e um QUERY.

Texto Correspondência exata de texto: operador (igual) (=)

FIELD=QUERY

Um exemplo de consulta é: owner=amy.2020@gmail.com.

O operador equals (=) verifica se QUERY corresponde exatamente ao valor dos metadados do recurso FIELD. Ele diferencia maiúsculas de minúsculas. Para um campo repetido, se QUERY corresponder a um dos valores do campo, o recurso será considerado uma correspondência. Os nomes FIELD compatíveis dependem de a consulta ser uma pesquisa de recursos ou uma pesquisa de política de gerenciamento de identidade e acesso (IAM, na sigla em inglês). O QUERY é uma frase, mas não pode conter caracteres curinga.

Texto parcial de correspondência: tem (operador) (:)

FIELD:QUERY

Um exemplo de consulta é: owner:amy.2020@gmail.

Ao executar uma pesquisa, QUERY é comparado ao valor dos metadados de recursos especificados FIELD. Os campos de consulta e de metadados do recurso são convertidos em uma sequência de palavras (ou seja, tokens) para comparação. Isso é feito ao:

  • Remover caracteres especiais iniciais/finais e tokenizar o valor da pesquisa tratando os caracteres especiais como delimitadores. Os caracteres especiais de tokenização são os caracteres que não são de [a-zA-Z0-9], sublinhados [_] ou "e" comercial [&]
  • Realizar a dobragem Unicode para que a diferença de letra maiúscula e minúscula seja ignorada.

Veja alguns exemplos de tokenização:

  • "amy-2020@GMAIL.com" está tokenizado para: [amy,2020,gmail,com]
  • "google.com/cloud" está tokenizado para: [google,com,cloud]
  • "Compute %Instance%" está tokenizado para: [compute,instance]
  • "$%^*-!" está tokenizado para: []
  • "" está tokenizado para: []
  • "compute*storage" está tokenizado para: [compute,storage]
  • "compute&storage" está tokenizado para: [compute&storage]
  • "BOB_test@gmail.com" está tokenizado para: [bob_test,gmail,com]
  • "instance/_my_vm_" está tokenizado para: [instance,_my_vm_]

O operador has (:) verifica se há cada palavra QUERY dentro do valor do campo de metadados do recurso. Ele também verifica a ordem das palavras e a consecutividade. O FIELD compatível pode ser diferente, dependendo se é uma pesquisa de recursos ou do Google IAM. O QUERY pode ser uma frase ou uma combinação de frases.

Exemplos

Por exemplo, um recurso com o campo owner que tem valor "amy.2020@gmail.com" corresponde às seguintes consultas:

  • Corresponde porque a frase é exatamente igual ao valor do campo.

      owner=amy.2020@gmail.com
    
  • Corresponde porque as pontuações são tratadas como delimitadores e a capitalização não é sensível.

      owner:amy-2020@GMAIL.com
    
  • Corresponde porque as palavras em uma frase são correspondidas em ordem. Observe que "amy 2020 gmail" é uma frase. As palavras precisam ser correspondidas em ordem e consecutivas.

      owner:"amy 2020 gmail"
    
  • Corresponde porque uma combinação de palavras pode aparecer em qualquer ordem. Observe que (gmail 2020 amy) é uma combinação; correspondência de palavras e não necessariamente em ordem.

      owner:(gmail 2020 amy)
    
  • Corresponde porque as palavras na frase são correspondidas em ordem, e as palavras na combinação aparecem em qualquer ordem. Observe que "amy 2020" é uma frase, e as palavras precisam ser correspondidas em ordem e consecutivamente. (gmail "amy 2020") é combinação; gmail e "amy 2020" são correspondidos e não necessariamente em ordem.

      owner:(gmail "amy 2020")
    
  • Corresponde porque * pode ser usado em uma frase para indicar uma correspondência de prefixo.

      owner:amy-20*
    

Um recurso cujoowner O campo tem valor"amy.2020@gmail.com" N matchO corresponde às seguintes consultas:

  • Não corresponde, porque a frase diferencia maiúsculas de minúsculas. Use o operador has (:) em vez da correspondência que não diferencia maiúsculas de minúsculas.

      owner=amy.2020@GMAIL.com
    
  • Não corresponde, porque a frase corresponde parcialmente ao valor do campo. Em vez disso, use o operador has (:) para fazer uma correspondência parcial.

      owner=amy.2020@gmail
    

Correspondência numérica: operadores de comparação (=, >, >=, <, <=)

FIELD=QUERY

FIELD>QUERY

FIELD>=QUERY

FIELD<QUERY

FIELD<=QUERY

Os operadores de comparação verificam se o resultado da comparação entre QUERY e o valor dos metadados do recurso FIELD é verdadeiro. Os nomes FIELD compatíveis incluem createTime e updateTime. O QUERY precisa ser um número inteiro assinado de 64 bits, que representa o carimbo de data/hora do período em segundos.

Exemplos

Por exemplo, um recurso que tem o campo createTime com valor 1600000000 corresponde às seguintes consultas:

  • Igual.

      createTime=1600000000
    
  • Maior que

      createTime>1500000000
    
  • Maior que ou igual a

      createTime>=1600000000
    
  • Menor que

      createTime<1700000000
    
  • Menor que ou igual a

      createTime<=1600000000
    

Phrase

Uma frase é uma ou várias palavras entre aspas duplas ("). Com frases, a ordem das palavras é importante. As palavras na frase precisam ser correspondentes em ordem e consecutivas. Para fazer a correspondência de várias palavras sem reordenação, você precisa usar a combinação (por exemplo, field:(word1 word2 word3).

As expressões a seguir são as mesmas:

owner:amy
owner:"amy"

owner:amy.2020@gmail.com
owner:"amy.2020@gmail.com"

name://cloudresourcemanager.googleapis.com/projects/projects/foo-bar
name:"//cloudresourcemanager.googleapis.com/projects/projects/foo-bar"

As seguintes frases precisam estar entre aspas:

name:"my instance"

owner:"amy%2020@gmail.com"

description:"domain:gmail.com"

description:"hello \"world\""

description:"hello\\world"

Exemplos: frase

  • Retorne recursos em que o campoowner tenha as palavras amy e palavra 2020 em ordem e consecutivamente:

    owner:"amy 2020"
    
  • Se você tiver um recurso com valor de campo owner igual a "amy.2020@gmail.com", a consulta acima corresponderá.

  • Se você tiver um recurso com valor de campo owner igual a "2020.amy@gmail.com", a consulta acima não corresponderá, porque as palavras não são correspondidas em ordem.

  • Se você tiver um recurso com valor de campo owner igual a "amy.us.2020@gmail.com", a consulta acima não corresponderá, porque as palavras não são correspondidas de forma consecutiva.

Combinação

As frases de pesquisa podem ser combinadas usando AND ou OR. Os parênteses são usados para agrupar combinações.

Exemplos: combinação

  • Retorne recursos em que o campo owner tem a palavra amy e a palavra john, sem especificar a ordem. AND é opcional em uma combinação. Para corresponder a várias palavras em ordem, é preciso usar a frase (por exemplo, field:"word1 word2 word3").

    owner:(amy john)
    
  • Retorne recursos em que o campo owner tem a palavra amy ou a palavra john.

    owner:(amy OR john)
    
  • Retorne recursos em que o campo owner tem a palavra amy e a palavra john ou tem a palavra bob.

    owner:((amy john) OR bob)
    
  • Retorne recursos em que o campo owner tem a palavra amy e a palavra john ou name tem a palavra bob.

    owner:(amy john) OR name:bob
    

Curinga

Os asteriscos (*) podem ser usados em uma frase como um caractere curinga. Dependendo da posição, ele pode ter significados diferentes.

  • Se estiver no final de uma frase, por exemplo, "am 20*", é um indicador de correspondência de prefixo do token. A consulta é equivalente a (am* 20*). Esse campo corresponde ao campo que contém um token que começa com "am", por exemplo, "amy", e um token que começa com "20", por exemplo, "2021". A ordem dos prefixos não importa.

  • Se a frase inteira contiver apenas um *, por exemplo, "labels.env:*", ele executa uma verificação de existência. Ele verifica se a chave de rótulo fornecida é "env". Outros campos não são compatíveis.

  • Se estiver no meio de uma frase, por exemplo, "compute*storage", é tratado como um delimitador de tokenização. A consulta equivale a "armazenamento de computação".

  • Se estiver no início e no final de uma frase, por exemplo, "*compute storage*", ele é tratado como um delimitador de tokenização. A consulta é equivalente a "armazenamento de computação".

Exemplos: correspondência de prefixo de token

  • Retorna recursos com o campo owner contendo uma palavra que começa com am:

    owner:am*
    
  • Retorne recursos cujo campo owner tem duas palavras com "amy" e "20" como prefixos:

    owner:"amy 20*"
    
    owner:"20 amy*"
    
  • Se você tiver um recurso com o valor do campo owner que é "amy.2020@gmail.com", as consultas acima serão correspondentes. Após a tokenização, "amy" e "20" são prefixos. Observe que a string de consulta "amy 20*" é diferente de "amy 20". A segunda requer que 20 seja uma palavra inteira que não seja um prefixo.

Exemplos: existência da chave de rótulo

  • Retorne recursos em que um dos objetos labels tem "env" como chave e tem qualquer valor (incluindo valor vazio ou nenhum valor):

    labels.env:*