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

Object Storage Service:オブジェクトのリスト (Harmony SDK)

最終更新日:Nov 30, 2025

このトピックでは、Object Storage Service (OSS) SDK for Harmony を使用してバケット内のすべてのオブジェクトをリストする方法について説明します。

使用上の注意

サンプルコード

次のサンプルコードは、ListObjectsV2 操作を呼び出してバケット内のオブジェクトをリストする方法の例を示しています。

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

// OSSClient インスタンスを作成します。
const client = new Client({
  // Security Token Service (STS) から取得した AccessKey ID を指定します。
  accessKeyId: 'yourAccessKeyId',
  // STS から取得した AccessKey シークレットを指定します。
  accessKeySecret: 'yourAccessKeySecret',
  // STS から取得したセキュリティトークンを指定します。
  securityToken: 'yourSecurityToken',
  // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを oss-cn-hangzhou に設定します。
  region: 'oss-cn-hangzhou',
});

/**
 * バケット内のオブジェクトを一覧表示します。
 * listObjectsV2 メソッドを使用して、バケット内のオブジェクトとオブジェクトのメタデータを一覧表示します。
 */
const listObjectsV2 = async () => {
  try {
    // listObjectsV2 メソッドを使用して、バケット内のオブジェクトとオブジェクトのメタデータを一覧表示します。
    const res = await client.listObjectsV2({
      bucket: 'yourBucketName', // バケットの名前を指定します。
    });

    // オブジェクトとそのメタデータを表示します。
    console.log(JSON.stringify(res));
  } catch (err) {
    // リクエスト中の例外をキャプチャします。
    if (err instanceof RequestError) {
      // 既知の種類のエラーが存在する場合は、エラーコード、エラーメッセージ、リクエスト ID、HTTP ステータスコード、EC などの情報を表示します。
      console.log('code: ', err.code); // エラーコード。
      console.log('message: ', err.message); // エラーメッセージ。
      console.log('requestId: ', err.requestId); // リクエスト ID。
      console.log('status: ', err.status); // HTTP ステータスコード。
      console.log('ec: ', err.ec); // EC。
    } else {
      // その他の不明な種類のエラーを表示します。
      console.log('unknown error: ', err);
    }
  }
};

// listObjectsV2 関数を呼び出して、バケット内のオブジェクトを一覧表示します。
listObjectsV2();

一般的なシナリオ

特定のプレフィックスを持つオブジェクトのリスト

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

// OSSClient インスタンスを作成します。
const client = new Client({
  // RAM ユーザーの AccessKey ID を指定します。
  accessKeyId: 'yourAccessKeyId',
  // RAM ユーザーの AccessKey シークレットを指定します。
  accessKeySecret: 'yourAccessKeySecret',
  // バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを oss-cn-hangzhou に設定します。
  region: 'oss-cn-hangzhou',
});


/**
 * バケット内で、名前が特定のプレフィックスを含むオブジェクトを一覧表示します。
 * listObjectsV2 メソッドを使用し、prefix パラメーターを指定してオブジェクトをフィルタリングします。
 */
const listObjectsV2WithPrefix = async () => {
  try {
    // listObjectsV2 メソッドを使用して、名前が特定のプレフィックスを含むオブジェクトを一覧表示します。
    const res = await client.listObjectsV2({
      bucket: 'yourBucketName', // バケットの名前を指定します。
      prefix: 'objectNamePrefix', // オブジェクトの名前に含まれるプレフィックスを指定します。
    });

    // オブジェクトとそのメタデータを表示します。
    console.log(JSON.stringify(res));
  } catch (err) {
    // リクエスト中の例外をキャプチャします。
    if (err instanceof RequestError) {
      console.log('code: ', err.code); // エラーコード。
      console.log('message: ', err.message); // エラーメッセージ。
      console.log('requestId: ', err.requestId); // リクエスト ID。
      console.log('status: ', err.status); // HTTP ステータスコード。
      console.log('ec: ', err.ec); // EC。
    } else {
      console.log('unknown error: ', err);
    }
  }
};

// listObjectsV2WithPrefix 関数を呼び出して、バケット内で指定されたプレフィックスを含む名前のオブジェクトを一覧表示します。
listObjectsV2WithPrefix();

デリミタを指定したオブジェクトのリスト

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

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // これを RAM ユーザーの AccessKey ID に置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // これを RAM ユーザーの AccessKey Secret に置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // バケットが配置されているリージョンを指定します。たとえば、中国 (杭州) のリージョンは 'oss-cn-hangzhou' です。
  region: 'oss-cn-hangzhou',
});


/**
 * バケット内のオブジェクトをリストし、デリミタを使用します。
 * listObjectsV2 メソッドを使用し、delimiter パラメーターを指定してフォルダ構造をシミュレートします。
 */
const listObjectsV2WithDelimiter = async () => {
  try {
    // listObjectsV2 メソッドを呼び出して、指定されたバケット内のオブジェクトをリストし、デリミタを使用してフォルダ構造をシミュレートします。
    const res = await client.listObjectsV2({
      bucket: 'yourBucketName', // バケット名。ご利用のバケットの名前に置き換えてください。
      delimiter: '/', // デリミタ。これは通常、フォルダ構造をシミュレートするために使用されます。
    });

    // リストされたオブジェクトとそのメタデータを出力します。
    console.log(JSON.stringify(res));
  } catch (err) {
    // リクエスト中に発生した例外をキャッチします。
    if (err instanceof RequestError) {
      console.log('code: ', err.code); // エラーコード
      console.log('message: ', err.message); // エラーメッセージ
      console.log('requestId: ', err.requestId); // リクエスト ID
      console.log('status: ', err.status); // HTTP ステータスコード
      console.log('ec: ', err.ec); // エラーコード
    } else {
      console.log('unknown error: ', err);
    }
  }
};

// listObjectsV2WithDelimiter 関数を呼び出して、デリミタを使用してオブジェクトをリストします。
listObjectsV2WithDelimiter();

すべてのオブジェクトをページごとに一覧表示する

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

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // ご利用の RAM ユーザーの AccessKey ID に置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // ご利用の RAM ユーザーの AccessKey Secret に置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // バケットが配置されているリージョンを設定します。たとえば、中国 (杭州) リージョンのバケットの場合、リージョンを 'oss-cn-hangzhou' に設定します。
  region: 'oss-cn-hangzhou',
});


/**
 * バケット内のオブジェクトをページごとにリストします。
 * continuationToken パラメーターを指定して listObjectsV2 メソッドを使用し、オブジェクトをページごとにリストします。
 */
const listObjectsV2WithContinuationToken = async () => {
  try {
    let continuationToken: string | undefined; // ページネーショントークン。最初は空です。
    let isTruncated = true; // リストするオブジェクトがまだあるかどうかを示します。

    // オブジェクトがなくなるまでループしてリストします。
    while (isTruncated) {
      const res = await client.listObjectsV2({
        bucket: 'yourBucketName', // バケット名。ご利用のバケットの名前に置き換えてください。
        continuationToken, // 次の結果ページを取得するために使用されるページネーショントークン。
      });

      // 現在のページのオブジェクトとそのメタデータを出力します。
      console.log(JSON.stringify(res));

      // ページネーションのステータスを更新します。
      isTruncated = res.data.isTruncated; // さらにオブジェクトがあるかどうかを示します。
      continuationToken = res.data.nextContinuationToken; // 次のページのページネーショントークン。
    }
  } catch (err) {
    // リクエスト中に発生した例外をキャッチします。
    if (err instanceof RequestError) {
      console.log('code: ', err.code); // エラーコード。
      console.log('message: ', err.message); // エラーメッセージ。
      console.log('requestId: ', err.requestId); // リクエスト ID。
      console.log('status: ', err.status); // HTTP ステータスコード。
      console.log('ec: ', err.ec); // エラーコード。
    } else {
      console.log('unknown error: ', err);
    }
  }
};

// listObjectsV2WithContinuationToken 関数を呼び出して、オブジェクトをページごとにリストします。
listObjectsV2WithContinuationToken();

オブジェクトのリストとオーナー情報の取得

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

// OSS クライアントインスタンスを作成します。
const client = new Client({
  // RAM ユーザーの AccessKey ID に置き換えます。
  accessKeyId: 'yourAccessKeyId',
  // RAM ユーザーの AccessKey Secret に置き換えます。
  accessKeySecret: 'yourAccessKeySecret',
  // バケットが配置されているリージョンを指定します。たとえば、中国 (杭州) のリージョンは 'oss-cn-hangzhou' です。
  region: 'oss-cn-hangzhou',
});

/**
 * バケット内のオブジェクトをリストし、そのオーナー情報を取得します。
 * listObjectsV2 メソッドを使用し、fetchOwner パラメーターを設定してオーナー情報を取得します。
 */
const listObjectsV2WithFetchOwner = async () => {
  try {
    // listObjectsV2 メソッドを呼び出して、指定されたバケット内のオブジェクトをリストし、そのオーナー情報を取得します。
    const res = await client.listObjectsV2({
      bucket: 'yourBucketName', // バケット名。ご利用のバケットの名前に置き換えてください。
      fetchOwner: true, // オブジェクトのオーナー情報を取得するかどうかを指定します。
    });

    // リストされたオブジェクトとそのメタデータを出力します。
    console.log(JSON.stringify(res));
  } catch (err) {
    // リクエスト中に発生した例外をキャッチします。
    if (err instanceof RequestError) {
      console.log('code: ', err.code); // エラーコード。
      console.log('message: ', err.message); // エラーメッセージ。
      console.log('requestId: ', err.requestId); // リクエスト ID。
      console.log('status: ', err.status); // HTTP ステータスコード。
      console.log('ec: ', err.ec); // エラーコード。
    } else {
      console.log('unknown error: ', err);
    }
  }
};

// listObjectsV2WithFetchOwner 関数を呼び出して、オブジェクトをリストし、そのオーナー情報を取得します。
listObjectsV2WithFetchOwner();