Como rotular instâncias

Os marcadores são uma maneira fácil de agrupar instâncias relacionadas ou mutuamente associadas. Por exemplo, você pode marcar suas instâncias de acordo com a maneira como as está usando, seja como teste ou produção, ou você pode adicionar seu próprio código de cobrança a uma instância. Você pode usar os marcadores para procurar instâncias ou rastrear cobranças de instâncias.

Você sempre adiciona marcadores como pares de chave-valor:

{
 "userLabels": {
    "track": "production",
    "location": "western-division"
    "billing-code": "34802",...
 }

Restrições

  • Você pode atribuir até 64 marcadores a cada instância.
  • As chaves e os valores dos marcadores precisam estar em conformidade com as seguintes restrições:

    • Chaves e valores não podem ter mais de 63 caracteres.
    • Chaves e valores podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e travessões. Caracteres internacionais são permitidos.
    • As chaves de marcadores precisam começar com letra minúscula.
    • As chaves de marcadores não podem estar vazias.

Como criar instâncias com marcadores

Ao criar uma nova instância usando a ferramenta de linha de comando gcloud ou a API, você pode aplicar marcadores à instância.

gcloud

Ao criar sua instância, inclua a sinalização --labels, seguida de uma lista separada por vírgulas de pares de chave-valor de marcadores. Você precisa usar a versão Beta do comando de criação para incluir marcadores.

Por exemplo:

gcloud beta sql instances create ... --labels track=production,billing-code=34802

curl

Na API, durante a solicitação POST para adicionar uma nova instância, adicione a propriedade userLabels no corpo da solicitação para aplicar marcadores à nova instância. Por exemplo, o corpo da solicitação de criação de uma instância tem os seguintes marcadores:

  ....
  "settings": {"tier":"db-n1-standard-2",
               "userLabels": {"track": "production",
                              "location": "western-division",
                              "billing-code": "34802"},
  ....

Como adicionar ou atualizar marcadores em uma instância existente

console

  1. Acesse a página "Instâncias do Cloud SQL" no Console do Google Cloud Platform.

    Acessar a página "Instâncias do Cloud SQL"

  2. Marque as caixas de seleção referentes aos recursos que receberão rótulos.

  3. Clique em Mostrar painel de informações, no canto superior direito, para expandir a coluna de rótulos.

  4. Atualize ou adicione os novos rótulos que você quer.

  5. Salve as alterações.

gcloud

Use o subcomando patch (versão Beta) para atualizar ou adicionar marcadores em uma instância existente:

gcloud beta sql instances patch [INSTANCE_NAME] --update-labels [KEY1]=[VALUE1]...

Por exemplo:

gcloud beta sql instances patch my-instance --update-labels track=production,billing-code=34802

Na ferramenta, quando a chave de marcador fornecida já existe, a chave existente é atualizada com o novo valor. Quando uma nova chave é fornecida, ela é adicionada à lista de marcadores. Somente os marcadores que você especifica são afetados. Os marcadores existentes não incluídos no comando permanecem inalterados.

curl

Para adicionar ou atualizar marcadores, use o método PATCH:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings" : {"userLabels" :
                              {"<LABEL1>" : "<VALUE1>", "<LABEL2>" : "<VALUE2>"}}}' \
    -X PATCH \
    https://www.googleapis.com/sql/v1beta4/projects/<PROJECT-ID>/instances/<INSTANCE_NAME>

Na ferramenta, quando a chave de marcador fornecida já existe, a chave existente é atualizada com o novo valor. Quando uma nova chave é fornecida, ela é adicionada à lista de marcadores. Somente os marcadores que você especifica são afetados. Os marcadores existentes não incluídos na solicitação permanecem inalterados.

Como remover um marcador

console

  1. Acesse a página "Instâncias do Cloud SQL" no Console do Google Cloud Platform.

    Acessar a página Instâncias do Cloud SQL

  2. Selecione as caixas de seleção ao lado dos recursos que têm rótulos que você quer remover.

  3. Clique em Mostrar painel de informações para expandir a coluna de rótulos.

  4. Clique no X ao lado dos marcadores que você quer remover.

  5. Salve as alterações.

gcloud

Usando a ferramenta de linha de comando gcloud, execute o subcomando patch (versão Beta) com a sinalização --remove-labels:

gcloud beta sql instances patch [INSTANCE_NAME] --remove-labels [LABEL1],[LABEL2]

Se você fornecer um nome de marcador que não existe, nenhum erro será retornado.

curl

Você remove um marcador usando a API ao definir o valor dela como null:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings": {"userLabels": {"[LABEL_NAME]": null}}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/[INSTANCE_NAME]

Como filtrar buscas de instâncias usando marcadores

Você pode filtrar os resultados de sua lista de instâncias por marcadores usando a ferramenta gcloud ou a API.

gcloud

Em gcloud, faça uma solicitação de list e use a sinalização --filter. Para filtrar por rótulos, use a sintaxe labels.[KEY]:[VALUE]. Por exemplo, se você quisesse filtrar em um marcador billing-code com um valor de 34802, poderia executar este comando:

gcloud beta sql instances list --filter='labels.billing-code:34802'

Se você quiser filtrar a existência de um marcador, independentemente do valor:

gcloud beta sql instances list --filter='labels:billing-code'

Para ver a documentação completa sobre a sintaxe do filtro na ferramenta gcloud, consulte a documentação gcloud topic filters (em inglês).

curl

Na API, faça uma solicitação de lista com um parâmetro de consulta filter codificado por URL:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/list?filter=userLabels.[KEY1_NAME]:[KEY1_VALUE]%20userLabels.[KEY2_NAME]:[KEY2_VALUE]

Por exemplo:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/list?filter=userLabels.track:production%20userLabels.billing-code:34802

Quando dois valores de marcador estão incluídos com um espaço (codificado) entre eles, ambos precisam ser verdadeiros para que uma instância seja devolvida (uma operação AND). Você também pode fornecer explicitamente operadores AND, OR e NOT. Por exemplo:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/list?filter=userLabels.track:production%20OR%20userLabels.billing-code:34802

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud SQL para MySQL