Como usar rótulos em intervalos

Nesta página, você verá 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 marcadores de intervalo, consulte os Termos-chave.

Adicionar um marcador de intervalo

Console

  1. Abra o navegador do Cloud Storage no Console do Google Cloud Platform.
    Abrir o navegador do Cloud Storage
  2. Na lista de intervalos, encontre aquele em que você quer aplicar um rótulo e clique no botão mais opções (três pontos verticais).

  3. Clique em Editar rótulos.

  4. No painel lateral exibido, clique no botão + Adicionar marcador.

  5. Especifique uma key e um value para o marcador.

  6. Clique em Salvar.

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

gsutil

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

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

Em que [KEY_1] é o nome da chave do rótulo, [VALUE_1] é o valor do rótulo, e [BUCKET_NAME] é o nome do intervalo em que o rótulo se aplica.

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

  • Use o comando label set para substituir todos os rótulos atuais 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.

def add_bucket_label(bucket_name):
    """Add a label to a bucket."""
    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 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. Consiga 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 informações a seguir e substitua [VALUES_IN_BRACKETS] pelos valores apropriados:
  3. {
      "labels": {
        "[KEY_1]": "[VALUE_1]"
      }
    }
  4. Use cURL para chamar a API JSON com uma solicitação de intervalo PATCH, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        -H "Content-Type: application/json" \
        "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

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

XML API

  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 informações a seguir, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    <Tagging>
      <TagSet>
        <Tag>
          <Key>[KEY_1]</Key>
          <Value>[VALUE_1]</Value>
        </Tag>
      </TagSet>
    </Tagging>

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

  3. Use o cURL para chamar a API XML com uma solicitação de intervalo PUT e um parâmetro de string de consulta tagging, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

Ver rótulos de intervalo

Console

  1. Abra o navegador do Cloud Storage no Console do Google Cloud Platform.
    Abrir o navegador do Cloud Storage
  2. Na lista de intervalos, encontre aquele que você quer verificar e confira os respectivos valores de Rótulo.

    Verificar a classe de intervalo Multi-Regional Storage.

gsutil

Use o comando gsutil ls a seguir, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:

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

A resposta será parecida com esta:

gs://[BUCKET_NAME]/ :
  Storage class:         MULTI_REGIONAL
  ...
  ...
  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.

def get_bucket_labels(bucket_name):
    """Prints out a bucket's labels."""
    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 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. Consiga 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 intervalo GET que inclui os fields pretendidos, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X GET -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

A resposta será parecida com esta:

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

API XML

  1. Consiga um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth.
  2. Use o cURL para chamar a API XML com uma solicitação de intervalo GET que inclui o parâmetro de consulta tagging, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X GET -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

A resposta será parecida com esta:

<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 Platform.
    Abrir o navegador do Cloud Storage
  2. Na lista de intervalos, encontre aquele com o rótulo que você quer remover e clique no botão mais opções (três pontos verticais).

  3. Clique em Editar rótulos.

  4. Clique no X associado ao marcador que você quer remover.

  5. Clique em Salvar.

gsutil

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

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

Em que [KEY_1] é o nome da chave para o rótulo, e [BUCKET_NAME] é o nome do intervalo em que o rótulo se aplica.

  • Use o comando label set para substituir todos os rótulos atuais 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.

def remove_bucket_label(bucket_name):
    """Remove a label from a bucket."""
    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('Updated labels on {}.'.format(bucket.name))
    pprint.pprint(bucket.labels)

Ruby

Para mais informações, consulte a documentação de referência da API 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. Consiga 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 informações a seguir e substitua [VALUES_IN_BRACKETS] pelos valores apropriados:
  3. {
      "labels": {
        "[KEY_1]": null
      }
    }
  4. Use cURL para chamar a API JSON com uma solicitação de intervalo PATCH, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        -H "Content-Type: application/json" \
        "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=labels"

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

XML API

  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 informações a seguir, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    <Tagging>
      <TagSet>
        <Tag>
        </Tag>
      </TagSet>
    </Tagging>
  3. Use o cURL para chamar a API XML com uma solicitação de intervalo PUT e um parâmetro de string de consulta tagging, substituindo [VALUES_IN_BRACKETS] pelos valores apropriados:
    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/[BUCKET_NAME]?tagging"

A seguir

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

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.