Bucket内のObjectsの一覧取得
ページネーションによるすべてのObjectsの一覧取得
このSDKメソッドを使用すると、ページネーションにより特定のBucket内に存在するすべてのオブジェクトの一覧を取得できます。以下のコードスニペットで使用されているBucket参照は、コンポーネントインスタンスです。
Info: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、このセクションをご覧ください。
各呼び出しでは限られた数のオブジェクトが返され、次の呼び出しは継続トークンが返された場合にのみ開始されます。
使用パラメータ
| Parameter Name | Data Type | Definition |
|---|---|---|
| maxKey | String | 必須パラメータです。ページネーションで一覧取得できるオブジェクトの最大数を含みます。 |
| nextToken | String | 必須パラメータです。次のオブジェクトセットを取得するためのトークンを含みます。 |
| prefix | String | 任意パラメータです。プレフィックス値に一致するオブジェクトを一覧取得します。 |
| orderBy | String | 任意パラメータです。オブジェクトを昇順または降順で一覧取得します。デフォルト値: asc |
| folderListing | String | 任意パラメータです。Bucket内のルートレベルのオブジェクトのみを一覧取得するか、Bucket内のすべてのパスに存在するすべてのオブジェクトを一覧取得するかを選択します。デフォルト値: false たとえば、値をtrueに設定すると、ルートレベルのオブジェクトのみが一覧表示されます。値をfalseに設定すると、Bucket内のすべてのパスに存在するすべてのオブジェクトが一覧表示されます。 |
以下のSDKメソッドでは、maxKeyを使用してページネーションの最大値が設定されています。prefixを使用すると、prefixに一致するオブジェクトのみを一覧取得できます。
取得するレスポンスには、Bucketの以下のプロパティが含まれ、moreOptionsに格納されます:
- key count: 返されるオブジェクトの数の値を含みます
- max keys: 返すことができるオブジェクトの最大数
- Truncated: Bucketが切り捨てられているかどうかを通知するステータスを含みます
- contents: オブジェクト詳細の一覧
- continuation_token: リクエストでcontinuation_tokenを送信した場合、レスポンスに表示されます
- next_continuation_token: レスポンスが切り捨てられた場合、次のオブジェクトセットを取得するために、このキーの値を同じメソッドにcontinuation_tokenとして渡す必要があります
各反復で、maxKeyの数のオブジェクトを一覧取得し、nextTokenが作成されたかどうかを確認します。nextTokenを使用して、すべてのオブジェクトが一覧取得されるまで反復を継続します。
copy
async function listMyPaginatedObjects(maxKeys = null, prefix = null, nextToken = null) {
const options = {
// 1回の呼び出しで返すキーの最大数
maxKeys,
// 次のオブジェクトページを取得するためのトークン
continuationToken: nextToken,
// オブジェクトのリスト順序: 'asc'または'desc'
// orderBy: 'desc',
// フォルダ構造(true)またはフラット構造(false)でオブジェクトをリストするかどうか
// folderListing: 'true',
// このプレフィックスのオブジェクトのみリストする
prefix
};
// オブジェクトの1ページを取得する
const objects = await bucket.listPagedObjects(options);
console.log("response:", objects.contents);
// さらにオブジェクトがある場合、再帰的に次のセットを取得する
if (objects.truncated) {
listMyPaginatedObjects(maxKeys, prefix, objects.next_continuation_token);
}
}
// 1ページあたり最大2キー、プレフィックス「sam」でオブジェクトをリストする初回呼び出し
await listMyPaginatedObjects(5, "sam");
レスポンス例
copy
{
"prefix": "sam",
"key_count": "5",
"max_keys": "5",
"truncated": "True",
"next_continuation_token": "47VrqTzR9ukMF9gr8YcziVVzdRP5GCjq1NfM5fMBpMfvw5qcXFRSueuqCTRUCzNd9dHfquXHi2afDanLH6MbyJo6",
"contents": [
{
"key_type": "file",
"key": "sam1s2ww.mp4",
"size": "427160684",
"content_type": "video/mp4",
"etag": "78c2b173b56cd944e9c79abd601f6073",
"last_modified": "May 21, 2024 01:00 PM"
},
{
"key_type": "file",
"key": "samdm.txt",
"size": "23",
"content_type": "text/plain; charset=utf-8",
"etag": "c0122754f465e42eb97b5af174663c29",
"last_modified": "May 14, 2024 01:30 PM"
},
{
"key_type": "file",
"key": "samplvbse1.json",
"size": "8",
"content_type": "application/json",
"etag": "499e7dbaee453352a9c17407a676dbda",
"last_modified": "May 13, 2024 10:05 AM"
},
{
"key_type": "file",
"key": "samplse1.json",
"size": "8",
"content_type": "application/json",
"etag": "499e7dbaee453352a9c17407a676dbda",
"last_modified": "May 13, 2024 09:20 AM"
},
{
"key_type": "file",
"key": "sampjkhdldbed.mp4",
"size": "0",
"content_type": "video/mp4",
"etag": "d41d8cd98f00b204e9800998ecf8427e",
"last_modified": "May 12, 2024 10:54 PM"
}
]
}
イテレーションによるObjectsの一覧取得
このSDKメソッドを使用すると、イテレーション手法を使用して、1回のAPI呼び出しでBucket内に存在するすべてのオブジェクトを一覧取得できます。maxKey変数を使用して、必要な数のオブジェクトにアクセスできます。
Info: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、このセクションをご覧ください。
copy
const options = {
// リクエストあたりの最大オブジェクト数
maxKeys: 5,
// オブジェクトのリスト順序: 'asc'または'desc'
// orderBy: 'desc',
// フォルダ構造(true)またはフラット構造(false)でオブジェクトをリストするかどうか
// folderListing: 'true',
// 指定されたプレフィックスで始まるオブジェクトのみリストする
prefix: 's'
};
// バケットからイテラブルファイルをリストする
const files = bucket.listIterableObjects(options);
for await (const file of files) {
console.log('file:', file);
}
レスポンス例
copy
{
"key_type": "file",
"key": "ssdgs.mp4",
"size": "3145728",
"content_type": "video/mp4",
"etag": "9685b8d5b8b719274bac854b897d95ec",
"last_modified": "May 21, 2024 03:49 PM"
}
{
"key_type": "file",
"key": "Sasss.mp4",
"size": "2674",
"content_type": "video/mp4",
"etag": "24c1122087e9be930ff1e957e83f5224",
"last_modified": "May 21, 2024 02:55 PM"
}
{
"key_type": "file",
"key": "Samfplessss.mp4",
"size": "2674",
"content_type": "video/mp4",
"etag": "24c1122087e9be930ff1e957e83f5224",
"last_modified": "May 21, 2024 02:52 PM"
}
{
"key_type": "file",
"key": "demo.mp4",
"size": "3400",
"content_type": "video/mp4",
"etag": "24e957e83f5224c1122087e9be930ff1",
"last_modified": "May 21, 2024 02:52 PM"
}
{
"key_type": "file",
"key": "performance.mp4",
"size": "1454",
"content_type": "video/mp4",
"etag": "087e9be930ff124c1122e957e83f5224",
"last_modified": "May 21, 2024 02:52 PM"
}
最終更新日 2026-03-24 17:38:39 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit