Autoclass を使用する

概要

このページでは、Cloud Storage のバケットに設定されている Autoclass 機能の有効化、無効化、ステータス確認を行う方法について説明します。

必要なロール

バケットで Autoclass を設定および管理するために必要な権限を取得するには、バケットに対するストレージ管理者(roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。この事前定義ロールには、バケットで Autoclass を設定および管理するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

  • storage.buckets.get
  • storage.buckets.list
    • この権限は、 Google Cloud コンソールを使用してこのページのタスクを実行する場合にのみ必要です。
  • storage.buckets.update

カスタムロールを使用して、これらの権限を取得することもできます。

バケットに対するロールの付与については、バケットでの IAM ポリシーの設定と管理をご覧ください。

バケットに Autoclass を設定する

バケットに Autoclass を設定するには、次の手順を完了します。

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、目的のバケットの名前をクリックします。

  3. [バケットの詳細] ページで、[構成] タブをクリックします。

  4. [デフォルトのストレージ クラス] の編集アイコン をクリックします。

  5. オーバーレイ ウィンドウで、[Autoclass] を選択して Autoclass を有効にします。Autoclass を無効にするには、[デフォルトのクラスを設定する] を選択して、バケットのデフォルトのストレージ クラスを選択します。

  6. [確認] をクリックします。

  7. Autoclass が有効になっているバケットのターミナル ストレージ クラスを切り替えるには、[含まれるクラス] の [編集] アイコン()をクリックして、表示されるオーバーレイ ウィンドウで [確認] をクリックします。

コマンドライン

適切なフラグを指定して、gcloud storage buckets update コマンドを使用します。

gcloud storage buckets update gs://BUCKET_NAME --default-storage-class=DEFAULT_CLASS AUTOCLASS_FLAG

ここで

  • BUCKET_NAME は、関連するバケットの名前です。例: my-bucket

  • DEFAULT_CLASS は、バケットのストレージ クラス メタデータを設定します。Autoclass を有効にする場合、STANDARD が唯一の有効な値であり、バケットで現在別のストレージ クラスを使用している場合は必須です。

  • AUTOCLASS_FLAG は、次のいずれかです。

    • --enable-autoclass: Autoclass を有効にします。
    • --no-enable-autoclass: Autoclass を無効にします。
    • --autoclass-terminal-storage-class=CLASS: Autoclass のターミナル ストレージ クラスを設定します。CLASS は、NEARLINE または ARCHIVE のいずれかになります。Autoclass が無効になっているバケットでこのフラグを使用する場合は、コマンドに --enable-autoclass フラグも含めます。

正常に終了すると、レスポンスは次の例のようになります。

Updating gs://my-bucket/...
  Completed 1  

クライアント ライブラリ

C++

詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。

Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。

namespace gcs = ::google::cloud::storage;
[](gcs::Client client, std::string const& bucket_name, bool enabled) {
  auto metadata = client.PatchBucket(
      bucket_name, gcs::BucketMetadataPatchBuilder().SetAutoclass(
                       gcs::BucketAutoclass{enabled}));
  if (!metadata) throw google::cloud::Status(std::move(metadata).status());

  std::cout << "The autoclass configuration for bucket " << bucket_name
            << " was successfully updated.";
  if (!metadata->has_autoclass()) {
    std::cout << " The bucket no longer has an autoclass configuration.\n";
    return;
  }
  std::cout << " The new configuration is " << metadata->autoclass() << "\n";
}

C#

詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。

Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。


using Google.Cloud.Storage.V1;
using Google.Apis.Storage.v1.Data;
using static Google.Apis.Storage.v1.Data.Bucket;
using System;

public class SetAutoclassSample
{
    public Bucket SetAutoclass(string bucketName)
    {
        var storage = StorageClient.Create();
        var bucket = storage.GetBucket(bucketName);
        bucket.Autoclass = new AutoclassData { Enabled = true, TerminalStorageClass = "ARCHIVE" };
        storage.PatchBucket(bucket);
        Console.WriteLine($"Autoclass enabled is set to {bucket.Autoclass.Enabled} for {bucketName} at {bucket.Autoclass.ToggleTimeDateTimeOffset}.");
        Console.WriteLine($"Autoclass terminal storage class is {bucket.Autoclass.TerminalStorageClass}.");