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

Object Storage Service:バケットタグ付け (Node.js SDK)

最終更新日:Nov 30, 2025

バケットタグ付け機能を使用すると、バケットを分類および管理できます。たとえば、特定のタグを持つバケットのみをリスト表示できます。

注意事項

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスするには、内部エンドポイントを使用します。サポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

  • このトピックでは、アクセス認証情報は環境変数から取得されます。アクセス認証情報の設定方法の詳細については、「アクセス認証情報の設定」をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名またはセキュリティトークンサービス (STS) を使用して OSSClient インスタンスを作成する場合は、「一般的なシナリオの設定例」をご参照ください。

  • バケットのオーナーと oss:PutBucketTagging 権限を付与されたユーザーのみが、バケットのタグを設定できます。他のユーザーがバケットのタグを設定しようとすると、エラーコード AccessDenied を含む 403 Forbidden メッセージが返されます。

  • 各バケットには、最大 20 個のタグ (キーと値のペア) を設定できます。

  • タグのキーと値は UTF-8 でエンコードする必要があります。

  • キーの長さは最大 64 文字です。大文字と小文字が区別され、空にすることはできません。キーを http://https://、または Aliyun で始めることはできません。これらのプレフィックスでは、大文字と小文字は区別されません。

  • タグの値は最大 128 文字で、空にすることもできます。

バケットタグの設定

次のコードは、バケットにタグを設定する方法の例です。

const OSS = require('ali-oss')

const client = new OSS({
  // バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourBucketName',
});

// バケットタグを設定します。
async function putBucketTags(bucketName, tag) {
  try {
    const result = await client.putBucketTags(bucketName, tag);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

const tag = { a: '1', b: '2' };
putBucketTags('yourBucketName', tag)

バケットタグの取得

次のコードは、バケットのタグを取得する方法の例です。

const OSS = require('ali-oss')

const client = new OSS({
  // バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourBucketName',
});

// バケットタグを取得します。
async function getBucketTags(bucketName) {
  try {
    const result = await client.getBucketTags(bucketName);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

getBucketTags('yourBucketName')

指定されたタグを持つバケットのリスト表示

次のコードは、特定のタグを持つバケットをリスト表示する方法を示しています。

const OSS = require('ali-oss')

const client = new OSS({
  // バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourBucketName',

});

// 指定されたタグを持つバケットをリスト表示します。
async function listBucketTags() {
  try {
    const params = {
      // listBuckets 操作の params パラメーターに tag-key と tag-value フィールドを追加します。
      'tag-key': 'yourTagKey',
      'tag-value': 'yourTagValue'
    }
    const result = await client.listBuckets(params);
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBucketTags();

バケットタグの削除

次のコードは、バケットのタグを削除する方法の例です。

const OSS = require('ali-oss')

const client = new OSS({
  // バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、region を oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // bucket をご利用のバケット名に設定します。
  bucket: 'yourBucketName',

});

// バケットタグを削除します。
async function deleteBucketTags(bucketName) {
  try {
    const result = await client.deleteBucketTags(bucketName);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteBucketTags('yourBucketName')

関連ドキュメント

  • バケットタグ付けの完全なサンプルコードについては、「GitHub」をご参照ください。

  • バケットタグを設定するために使用される API 操作の詳細については、「PutBucketTags」をご参照ください。

  • バケットタグを取得するために使用される API 操作の詳細については、「GetBucketTags」をご参照ください。

  • バケットタグを削除するために使用される API 操作の詳細については、「DeleteBucketTags」をご参照ください。