このトピックでは、Object Storage Service (OSS) SDK for Harmony を使用してバケット内のすべてのオブジェクトをリストする方法について説明します。
使用上の注意
OSS でサポートされているリージョンとエンドポイントについては、「リージョンとエンドポイント」をご参照ください。
オブジェクトをリストするには、
oss:ListObjects権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。
サンプルコード
次のサンプルコードは、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();