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

Object Storage Service:オブジェクトのメタデータの管理 (Node.js SDK)

最終更新日:Nov 30, 2025

Object Storage Service (OSS) のオブジェクトには、キー、データ、およびオブジェクトのメタデータが含まれています。 オブジェクトのメタデータは、オブジェクトのプロパティを記述します。 これには、標準 HTTP ヘッダーとユーザー定義メタデータが含まれます。 標準 HTTP ヘッダーを設定して、オブジェクトのキャッシュポリシーや強制ダウンロードポリシーなどの HTTP リクエストポリシーをカスタマイズできます。 また、ユーザー定義メタデータを設定して、オブジェクトの目的やプロパティを識別することもできます。

アップロード時のオブジェクトメタデータの指定

putputStream、または multipartUpload 操作を使用する場合、meta パラメーターを指定してオブジェクトのメタデータを設定できます:

const OSS = require('ali-oss');
const path = require('path');

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

async function put() {
  try {
    // options オブジェクトの meta プロパティとしてメタデータを設定します。
    let result = await client.put('object-name', path.normalize('D:\\localpath\\examplefile.txt'), {
      meta: {
        year: '2025',  // メタデータの値は文字列である必要があります。
        people: 'mary'
      }
    });
  console.log(result);
  } catch (e) {
    console.log(e);
  }
}

put();

既存オブジェクトのメタデータの変更

また、putMeta 操作を使用してオブジェクトのメタデータを更新することもできます:

const OSS = require('ali-oss');

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

async function putMeta() {
  try {
    let meta = { year: 2025, people: 'jack' };
    let result = await client.putMeta('object-name', meta);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

putMeta();

オブジェクトメタデータの取得

head 操作を使用して、オブジェクトのメタデータを取得できます。

const OSS = require('ali-oss');

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

async function headInfo() {
  // オブジェクトの完全なパス (例: exampledir/exampleobject.txt) を指定します。 完全なパスにバケット名を含めることはできません。
  const result = await client.head("exampledir/exampleobject.txt");
  console.log(result);
}

headInfo();