すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケットのリスト (Harmony SDK)

最終更新日:Nov 30, 2025

バケットはオブジェクトを格納するコンテナーです。すべてのオブジェクトはバケットに格納されます。ご利用の Alibaba Cloud アカウント内のすべてのリージョンで、特定の条件を満たすバケットをリスト表示できます。リスト表示されるバケットはアルファベット順にソートされます。

注意事項

  • Object Storage Service (OSS) がサポートするリージョンとそのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • バケットをリスト表示するには、oss:ListBuckets 権限が必要です。詳細については、「RAM ユーザーへのカスタムアクセスポリシーの付与」をご参照ください。

  • 次のコードは、ご利用の Alibaba Cloud アカウントのすべてのリージョンにあるバケットをリスト表示します。この操作は、特定のリージョン内のバケットのリスト表示をサポートしていません。結果は、指定されたエンドポイントのリージョンには影響されません。

サンプルコード

次のコードは、ご利用の Alibaba Cloud アカウントのすべてのリージョンにあるすべてのバケットをリスト表示する方法を示しています。

import Client, { RequestError } from '@aliyun/oss';

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // Security Token Service (STS) の一時的なアクセス認証情報の AccessKey ID と置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // STS の一時的なアクセス認証情報の AccessKey Secret と置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // STS の一時的なアクセス認証情報のセキュリティトークンと置き換えます。
  securityToken: 'yourSecurityToken',
});

// すべてのバケットをリスト表示します。
const listBuckets = async () => {
  try {
    // listBuckets メソッドを呼び出して、すべてのバケットをリスト表示します。
    const res = await client.listBuckets({});

    // 結果を出力します。
    console.log(JSON.stringify(res));
  } catch (err) {
    // リクエストエラーをキャッチして処理します。
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code); // エラーコード
      console.log('Error message: ', err.message); // エラーの説明
      console.log('Request ID: ', err.requestId); // リクエストの一意の識別子
      console.log('HTTP status code: ', err.status); // HTTP 応答ステータスコード
      console.log('Error category: ', err.ec); // エラーカテゴリ
    } else {
      console.log('Unknown error: ', err); // RequestError 型ではないエラー
    }
  }
};

// 関数を呼び出して、すべてのバケットをリスト表示します。
listBuckets();

その他のシナリオ

指定されたプレフィックスを持つバケットを一覧表示する

次のコードは、ご利用の Alibaba Cloud アカウントのすべてのリージョンで、プレフィックスが `bucketNamePrefix` であるバケットをリスト表示する方法を示しています。

import Client, { RequestError } from '@aliyun/oss';

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // STS の一時的なアクセス認証情報の AccessKey ID と置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // STS の一時的なアクセス認証情報の AccessKey Secret と置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // STS の一時的なアクセス認証情報のセキュリティトークンと置き換えます。
  securityToken: 'yourSecurityToken',
});

// 特定のプレフィックスで始まるバケットをリスト表示します。
const listBucketsWithPrefix = async () => {
  try {
    // listBuckets メソッドを呼び出し、prefix パラメーターを指定してバケット名をフィルター処理します。
    const res = await client.listBuckets({
      prefix: 'bucketNamePrefix' // バケット名のプレフィックスを指定します。
    });

    // 結果を出力します。
    console.log(JSON.stringify(res));
  } catch (err) {
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code);
      console.log('Error message: ', err.message);
      console.log('Request ID: ', err.requestId);
      console.log('HTTP status code: ', err.status);
      console.log('Error category: ', err.ec);
    } else {
      console.log('Unknown error: ', err);
    }
  }
};

// 関数を呼び出して、特定のプレフィックスで始まるバケットをリスト表示します。
listBucketsWithPrefix();

ページネーショントークン(マーカー)を使用してすべてのバケットを一覧表示する

次のコードは、ページネーショントークン (マーカー) を使用してすべてのバケットをリスト表示する方法を示しています。

import Client, { RequestError } from '@aliyun/oss';

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // STS の一時的なアクセス認証情報の AccessKey ID と置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // STS の一時的なアクセス認証情報の AccessKey Secret と置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // STS の一時的なアクセス認証情報のセキュリティトークンと置き換えます。
  securityToken: 'yourSecurityToken',
});

// ページネーショントークン (マーカー) を使用してすべてのバケットをリスト表示します。
const listBucketsWithMarker = async () => {
  try {
    let marker: string | undefined; // ページネーショントークン。最初は空です。
    let isTruncated = true; // 取得するデータがまだあるかどうかを示します。

    // データがなくなるまですべてのバケットを取得するためにループします。
    while (isTruncated) {
      const res = await client.listBuckets({
        marker // 現在のページネーショントークン。
      });

      // 結果を出力します。
      console.log(JSON.stringify(res));

      // ページネーションのステータスを更新します。
      isTruncated = res.data.isTruncated; // データがまだあるかどうかを示します。
      marker = res.data.nextMarker; // 次のページネーショントークン。
    }
  } catch (err) {
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code);
      console.log('Error message: ', err.message);
      console.log('Request ID: ', err.requestId);
      console.log('HTTP status code: ', err.status);
      console.log('Error category: ', err.ec);
    } else {
      console.log('Unknown error: ', err);
    }
  }
};

// 関数を呼び出して、ページネーショントークンを使用してすべてのバケットをリスト表示します。
listBucketsWithMarker();

関連情報

  • バケットをリスト表示するための API 操作の詳細については、「ListBuckets (GetService)」をご参照ください。