버킷 라벨 사용

이 페이지는 Cloud Storage에서 버킷에 설정한 라벨을 추가, 표시, 수정, 삭제하는 방법을 보여줍니다. 버킷 및 버킷 라벨에 대한 개요는 핵심 용어를 참조하세요.

버킷 라벨 추가

Console

  1. Google Cloud Platform Console에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저 열기
  2. 버킷 목록에서 라벨을 적용할 버킷을 찾고 해당 버킷의 옵션 더보기 버튼(세로로 나열된 세 개의 점)을 클릭합니다.

  3. 라벨 수정을 클릭합니다.

  4. 나타나는 측면 패널에서 + 라벨 추가 버튼을 클릭합니다.

  5. 라벨에 keyvalue를 지정합니다.

  6. 저장을 클릭합니다.

라벨 수정 측면 패널에서 기존 라벨 값을 수정할 수도 있습니다.

gsutil

label ch 명령어에 -l 플래그를 사용합니다. 예를 들면 다음과 같습니다.

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

각 항목의 의미는 다음과 같습니다.

  • [KEY_1]은 라벨의 키 이름입니다. 예를 들면 pet입니다.
  • [VALUE_1]은 라벨의 값입니다. 예를 들면 dog입니다.
  • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

단일 명령어에서 여러 개의 key:value 쌍을 추가 또는 수정하려면 -l 플래그를 여러 개 사용합니다.

모든 기존 라벨을 새 라벨로 바꾸려면 label set 명령어를 사용합니다.

코드 샘플

C++

자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.

# 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}"

REST API

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .json 파일을 만듭니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [KEY_1]은 라벨의 키 이름입니다. 예를 들면 pet입니다.
    • [VALUE_1]은 라벨의 값입니다. 예를 들면 dog입니다.
  3. cURL을 사용하여 PATCH Bucket 요청으로 JSON API를 호출합니다.

    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"

    각 항목의 의미는 다음과 같습니다.

    • [JSON_FILE_NAME]은 2단계에서 만든 JSON 파일의 이름입니다.
    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

단일 요청으로 key:value 쌍 여러 개를 추가 또는 수정할 수 있습니다.

XML API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .xml 파일을 만듭니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [KEY_1]은 라벨의 키 이름입니다. 예를 들면 pet입니다.
    • [VALUE_1]은 라벨의 값입니다. 예를 들면 dog입니다.

    단일 요청으로 <Tag> 요소 여러 개를 추가할 수 있습니다.

  3. cURL을 사용하여 PUT Bucket 요청 및 tagging 쿼리 문자열 매개변수로 XML API를 호출합니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [XML_FILE_NAME]은 2단계에서 만든 XML 파일입니다.
    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

버킷 라벨 보기

Console

  1. Google Cloud Platform Console에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저 열기
  2. 버킷 목록에서 확인할 버킷을 찾아 라벨 값을 확인합니다.

    버킷 라벨을 확인합니다.

gsutil

다음 gsutil ls 명령어를 사용합니다.

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

각 항목의 의미는 다음과 같습니다.

  • [BUCKET_NAME]은 라벨을 보려는 버킷입니다. 예를 들면 my-bucket입니다.

다음 예시와 같은 응답이 표시됩니다.

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

코드 샘플

C++

자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.

# 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

REST API

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. cURL을 사용하여 fields=labels 쿼리 문자열 매개변수가 포함된 GET Bucket 요청으로 JSON API를 호출합니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [BUCKET_NAME]은 라벨을 보려는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

다음 예시와 같은 응답이 표시됩니다.

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

XML API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. cURL을 사용하여 GET Bucket 요청 및 tagging 쿼리 문자열 매개변수로 XML API를 호출합니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [BUCKET_NAME]은 라벨을 보려는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

다음 예시와 같은 응답이 표시됩니다.

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

버킷 라벨 삭제

Console

  1. Google Cloud Platform Console에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저 열기
  2. 버킷 목록에서 라벨을 삭제할 버킷을 찾고 해당 버킷의 옵션 더보기 버튼(세로로 나열된 세 개의 점)을 클릭합니다.

  3. 라벨 수정을 클릭합니다.

  4. 삭제하려는 라벨과 연결된 X를 클릭합니다.

  5. 저장을 클릭합니다.

gsutil

label ch 명령어에 -d 플래그를 사용합니다. 예를 들면 다음과 같습니다.

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

각 항목의 의미는 다음과 같습니다.

  • [KEY_1]은 라벨의 키 이름입니다. 예를 들면 pet입니다.
  • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

모든 기존 라벨을 새 라벨로 바꾸려면 label set 명령어를 사용합니다.

코드 샘플

C++

자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.

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

자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.

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('Removed labels on {}.'.format(bucket.name))
    pprint.pprint(bucket.labels)

Ruby

자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.

# 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}"

REST API

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .json 파일을 만듭니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [KEY_1]은 라벨의 키 이름입니다. 예를 들면 pet입니다.
  3. cURL을 사용하여 PATCH Bucket 요청으로 JSON API를 호출합니다.

    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"

    각 항목의 의미는 다음과 같습니다.

    • [JSON_FILE_NAME]은 2단계에서 만든 JSON 파일의 이름입니다.
    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰의 이름입니다.
    • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

단일 요청으로 key:value 쌍 여러 개를 삭제할 수 있습니다.

XML API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .xml 파일을 만듭니다.

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

    단일 요청으로 <Tag> 요소 여러 개를 추가할 수 있습니다.

  3. cURL을 사용하여 PUT Bucket 요청 및 tagging 쿼리 문자열 매개변수로 XML API를 호출합니다.

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

    각 항목의 의미는 다음과 같습니다.

    • [XML_FILE_NAME]은 2단계에서 만든 XML 파일의 이름입니다.
    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰의 이름입니다.
    • [BUCKET_NAME]은 라벨이 적용되는 버킷의 이름입니다. 예를 들면 my-bucket입니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.