Como usar rótulos em intervalos

Nesta página mostraremos como adicionar, visualizar, editar e remover os rótulos definidos em um intervalo no Cloud Storage. Para ter uma visão geral dos intervalos e dos rótulos de intervalo, consulte os Termos importantes.

Adicionar um rótulo de intervalo

Console

  1. Abra o navegador do Cloud Storage no Console do Google Cloud.
    Abrir o navegador do Cloud Storage
  2. Na lista de intervalos, localize o intervalo em que você quer aplicar um rótulo e clique no menuflutuante Intervalo ().

  3. Clique em Editar rótulos.

  4. No painel lateral exibido, clique no botão + Adicionar rótulo.

  5. Especifique um key e value para seu rótulo.

  6. Clique em Salvar.

No painel lateral Editar rótulos, é possível também editar o Valor dos rótulos existentes.

gsutil

Use a sinalização -l em um comando label ch. Exemplo:

gsutil label ch -l [KEY_1]:[VALUE_1] gs://[BUCKET_NAME]/

em que

  • [KEY_1] é o nome da chave para seu rótulo. Por exemplo, pet.
  • [VALUE_1] é o valor para seu rótulo. Por exemplo, dog.
  • [BUCKET_NAME] é o nome do intervalo a que o rótulo se aplica. Por exemplo, my-bucket.

Use várias sinalizações -l para adicionar ou editar vários pares de key:value em um único comando.

Use o comando label set para substituir todos os rótulos existentes por novos.

Amostras de código

C++

Para mais informações, consulte a documentação de referência da API do Cloud Storage para C++.

namespace gcs = google::cloud::storage;
    using ::google::cloud::StatusOr;
    [](gcs::Client client, std::string bucket_name, std::string label_key,
       std::string label_value) {
      StatusOr<gcs::BucketMetadata> updated_metadata = client.PatchBucket(
          bucket_name,
          gcs::BucketMetadataPatchBuilder().SetLabel(label_key, label_value));

      if (!updated_metadata) {
        throw std::runtime_error(updated_metadata.status().message());
      }

      std::cout << "Successfully set label " << label_key << " to " << label_value
                << " on bucket  " << updated_metadata->name() << ".";
      std::cout << " The bucket labels are now:";
      for (auto const& kv : updated_metadata->labels()) {
        std::cout << "\n  " << kv.first << ": " << kv.second;
      }
      std::cout << "\n";
    }

PHP

Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

    /**
     * Adds or updates a bucket label.
     *
     * @param string $bucketName the name of your Cloud Storage bucket.
     * @param string $labelName the name of the label to add.
     * @param string $labelValue the value of the label to add.
     */
    function add_bucket_label($bucketName, $labelName, $labelValue)
    {
        $storage = new StorageClient();
        $bucket = $storage->bucket($bucketName);
        $newLabels = [$labelName => $labelValue];
        $bucket->update(['labels' => $newLabels]);
        printf('Added label %s (%s) to %s' . PHP_EOL, $labelName, $labelValue, $bucketName);
    }

Python

Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.

from google.cloud import storage
    import pprint

    def add_bucket_label(bucket_name):
        """Add a label to a bucket."""
        # bucket_name = "your-bucket-name"

        storage_client = storage.Client()

        bucket = storage_client.get_bucket(bucket_name)
        labels = bucket.labels
        labels["example"] = "label"
        bucket.labels = labels
        bucket.patch()

        print("Updated labels on {}.".format(bucket.name))
        pprint.pprint(bucket.labels)

    

Ruby

Para mais informações, consulte a documentação de referência da API do Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
    # bucket_name = "Name of your Google Cloud Storage bucket"
    # label_key   = "Cloud Storage bucket Label Key"
    # label_value = "Cloud Storage bucket Label Value"

    require "google/cloud/storage"

    storage = Google::Cloud::Storage.new project_id: project_id
    bucket  = storage.bucket bucket_name

    bucket.update do |bucket|
      bucket.labels[label_key] = label_value
    end

    puts "Added label #{label_key} with value #{label_value} to #{bucket_name}"

APIs REST

API JSON

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Crie um arquivo .json que contenha as seguintes informações:

    {
          "labels": {
            "[KEY_1]": "[VALUE_1]"
          }
        }

    em que

    • [KEY_1] é o nome da chave para seu rótulo. Por exemplo, pet.
    • [VALUE_1] é o valor para seu rótulo. Por exemplo, dog.
  3. Use cURL para chamar a API JSON com uma solicitação de Intervalo PATCH:

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          -H "Content-Type: application/json" \
          "https://storage.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

    Em que:

    • [JSON_FILE_NAME] é o nome do arquivo JSON que você criou na Etapa 2.
    • [OAUTH2_TOKEN] é o token de acesso gerado na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo a que o rótulo se aplica. Por exemplo, my-bucket.

É possível adicionar ou editar vários pares de key:value em uma solicitação.

API XML

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Crie um arquivo .xml que contenha as seguintes informações:

        <Tagging>
          <TagSet>
            <Tag>
              <Key>[KEY_1]</Key>
              <Value>[VALUE_1]</Value>
            </Tag>
          </TagSet>
        </Tagging>

    Em que:

    • [KEY_1] é o nome da chave para seu rótulo. Por exemplo, pet.
    • [VALUE_1] é o valor para seu rótulo. Por exemplo, dog.

    É possível adicionar vários elementos de <Tag> em uma solicitação.

  3. Use cURL para chamar a API XML com uma solicitação de PUT Intervalo e um parâmetro de string de consulta de tagging:

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

    Em que:

    • [XML_FILE_NAME] é o arquivo XML que você criou na Etapa 2.
    • [OAUTH2_TOKEN] é o token de acesso gerado na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo a que o rótulo se aplica. Por exemplo, my-bucket.

Ver rótulos de intervalo

Console

  1. Abra o navegador do Cloud Storage no Console do Google Cloud.
    Abrir o navegador do Cloud Storage
  2. Opcional: é possível limitar as colunas exibidas na lista de intervalos do Console do Cloud clicando no menu Opções de exibição de coluna (Ícone de opções da coluna.).

  3. Na lista de intervalos, encontre o intervalo que você quer verificar e verifique a entrada do Rótulo. Talvez seja necessário rolar a tela horizontalmente para visualizar a coluna Rótulo.

    Se o intervalo tiver vários rótulos, alguns poderão ficar ocultos. Quando os rótulos estão ocultos, um botão expansível é exibido. Clique no botão para exibir todos os rótulos de um intervalo.

    Coluna de lista de intervalos com rótulos

gsutil

Use o seguinte comando gsutil ls:

gsutil ls -L -b gs://[BUCKET_NAME]/

Em que:

  • [BUCKET_NAME] é o intervalo cujos rótulos você quer visualizar. Por exemplo, my-bucket.

A resposta terá esta aparência:

gs://[BUCKET_NAME]/ :
      Storage class:         STANDARD
      ...
      ...
      Labels:
        {
          "your_label_key": "your_label_value"
        }
      ...

Amostras de código

C++

Para mais informações, consulte a documentação de referência da API do Cloud Storage para C++.

namespace gcs = google::cloud::storage;
    using ::google::cloud::StatusOr;
    [](gcs::Client client, std::string bucket_name) {
      StatusOr<gcs::BucketMetadata> bucket_metadata =
          client.GetBucketMetadata(bucket_name, gcs::Fields("labels"));

      if (!bucket_metadata) {
        throw std::runtime_error(bucket_metadata.status().message());
      }

      if (bucket_metadata->labels().empty()) {
        std::cout << "The bucket " << bucket_name << " has no labels set.\n";
        return;
      }

      std::cout << "The labels for bucket " << bucket_name << " are:";
      for (auto const& kv : bucket_metadata->labels()) {
        std::cout << "\n  " << kv.first << ": " << kv.second;
      }
      std::cout << "\n";
    }

PHP

Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

    /**
     * Prints a list of a bucket's lables.
     *
     * @param string $bucketName the name of your Cloud Storage bucket.
     */
    function get_bucket_labels($bucketName)
    {
        $storage = new StorageClient();
        $bucket = $storage->bucket($bucketName);
        $info = $bucket->info();
        if (isset($info['labels'])) {
            foreach ($info['labels'] as $labelKey => $labelValue) {
                printf('%s: %s' . PHP_EOL, $labelKey, $labelValue);
            }
        }
    }

Python

Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.

from google.cloud import storage
    import pprint

    def get_bucket_labels(bucket_name):
        """Prints out a bucket's labels."""
        # bucket_name = 'your-bucket-name'
        storage_client = storage.Client()

        bucket = storage_client.get_bucket(bucket_name)

        labels = bucket.labels
        pprint.pprint(labels)

    

Ruby

Para mais informações, consulte a documentação de referência da API do Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
    # bucket_name = "Name of your Google Cloud Storage bucket"

    require "google/cloud/storage"

    storage = Google::Cloud::Storage.new project_id: project_id
    bucket  = storage.bucket bucket_name

    puts "Labels for #{bucket_name}"
    bucket.labels.each do |key, value|
      puts "#{key} = #{value}"
    end

APIs REST

API JSON

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Use cURL para chamar a API JSON com uma solicitação de GET Intervalo que inclua o parâmetro de string de consulta de fields=labels:

    curl -X GET \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          "https://storage.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

    Em que:

    • [OAUTH2_TOKEN] é o token de acesso gerado na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo cujos rótulos você quer visualizar. Por exemplo, my-bucket.

A resposta terá esta aparência:

{
      "labels" : {
         ([YOUR_LABEL_KEY]): [YOUR_LABEL_VALUE]
       },
    }

API XML

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Use cURL para chamar a API XML com uma solicitação de GET Intervalo e um parâmetro de string de consulta de tagging:

    curl -X GET \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

    Em que:

    • [OAUTH2_TOKEN] é o token de acesso gerado na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo cujos rótulos você quer visualizar. Por exemplo, my-bucket.

A resposta terá esta aparência:

<Tagging>
      <TagSet>
        <Tag>
          <Key>[YOUR_LABEL_KEY]</Key>
          <Value>[YOUR_LABEL_VALUE]</Value>
        </Tag>
      </TagSet>
    </Tagging>

Remover o marcador de um intervalo

Console

  1. Abra o navegador do Cloud Storage no Console do Google Cloud.
    Abrir o navegador do Cloud Storage
  2. Na lista de intervalos, localize o intervalo cujo rótulo você quer remover e clique no menu flutuante Intervalo ().

  3. Clique em Editar rótulos.

  4. Clique no X associado ao rótulo que quer remover.

  5. Clique em Salvar.

gsutil

Use a sinalização -d em um comando label ch. Exemplo:

gsutil label ch -d [KEY_1] gs://[BUCKET_NAME]/

Em que:

  • [KEY_1] é o nome da chave para seu rótulo. Por exemplo, pet.
  • [BUCKET_NAME] é o nome do intervalo a que o rótulo se aplica. Por exemplo, my-bucket.

Use o comando label set para substituir todos os rótulos existentes por novos.

Amostras de código

C++

Para mais informações, consulte a documentação de referência da API do Cloud Storage para C++.

namespace gcs = google::cloud::storage;
    using ::google::cloud::StatusOr;
    [](gcs::Client client, std::string bucket_name, std::string label_key) {
      StatusOr<gcs::BucketMetadata> updated_metadata = client.PatchBucket(
          bucket_name, gcs::BucketMetadataPatchBuilder().ResetLabel(label_key));

      if (!updated_metadata) {
        throw std::runtime_error(updated_metadata.status().message());
      }

      std::cout << "Successfully reset label " << label_key << " on bucket  "
                << updated_metadata->name() << ".";
      if (updated_metadata->labels().empty()) {
        std::cout << " The bucket now has no labels.\n";
        return;
      }
      std::cout << " The bucket labels are now:";
      for (auto const& kv : updated_metadata->labels()) {
        std::cout << "\n  " << kv.first << ": " << kv.second;
      }
      std::cout << "\n";
    }

PHP

Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.

use Google\Cloud\Storage\StorageClient;

    /**
     * Removes a label from a bucket.
     *
     * @param string $bucketName the name of your Cloud Storage bucket.
     * @param string $labelName the name of the label to remove.
     */
    function remove_bucket_label($bucketName, $labelName)
    {
        $storage = new StorageClient();
        $bucket = $storage->bucket($bucketName);
        $labels = [$labelName => null];
        $bucket->update(['labels' => $labels]);
        printf('Removed label %s from %s' . PHP_EOL, $labelName, $bucketName);
    }

Python

Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.

from google.cloud import storage
    import pprint

    def remove_bucket_label(bucket_name):
        """Remove a label from a bucket."""
        # bucket_name = "your-bucket-name"

        storage_client = storage.Client()
        bucket = storage_client.get_bucket(bucket_name)

        labels = bucket.labels

        if "example" in labels:
            del labels["example"]

        bucket.labels = labels
        bucket.patch()

        print("Removed labels on {}.".format(bucket.name))
        pprint.pprint(bucket.labels)

    

Ruby

Para mais informações, consulte a documentação de referência da API do Cloud Storage para Ruby.

# project_id  = "Your Google Cloud project ID"
    # bucket_name = "Name of your Google Cloud Storage bucket"
    # label_key   = "Cloud Storage bucket Label Key"

    require "google/cloud/storage"

    storage = Google::Cloud::Storage.new project_id: project_id
    bucket  = storage.bucket bucket_name

    bucket.update do |bucket|
      bucket.labels[label_key] = nil
    end

    puts "Deleted label #{label_key} from #{bucket_name}"

APIs REST

API JSON

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Crie um arquivo .json que contenha as seguintes informações:

    {
          "labels": {
            "[KEY_1]": null
          }
        }

    Em que:

    • [KEY_1] é o nome da chave para seu rótulo. Por exemplo, pet.
  3. Use cURL para chamar a API JSON com uma solicitação de Intervalo PATCH:

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          -H "Content-Type: application/json" \
          "https://storage.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

    Em que:

    • [JSON_FILE_NAME] é o nome do arquivo JSON que você criou na Etapa 2.
    • [OAUTH2_TOKEN]é o nome do token de acesso que você gerou na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo ao qual o rótulo se aplica. Por exemplo, my-bucket.

É possível remover vários pares de key:value em uma solicitação.

API XML

  1. Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Crie um arquivo .xml que contenha as seguintes informações:

        <Tagging>
          <TagSet>
            <Tag>
            </Tag>
          </TagSet>
        </Tagging>

    É possível adicionar vários elementos de <Tag> em uma solicitação.

  3. Use cURL para chamar a API XML com uma solicitação de PUT Intervalo e um parâmetro de string de consulta de tagging:

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
          -H "Authorization: Bearer [OAUTH2_TOKEN]" \
          "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

    Em que:

    • [XML_FILE_NAME] é o nome do arquivo XML que você criou na Etapa 2.
    • [OAUTH2_TOKEN]é o nome do token de acesso que você gerou na Etapa 1.
    • [BUCKET_NAME] é o nome do intervalo ao qual o rótulo se aplica. Por exemplo, my-bucket.

A seguir