バケット内のオブジェクト一覧取得
ページネーションによるすべてのオブジェクトの一覧取得
このSDKメソッドを使用すると、特定のバケット内に存在するすべてのオブジェクトをページネーションで取得できます。以下のコードスニペットで使用されているBucketの参照は、コンポーネントインスタンスです。
情報: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、こちらのセクションをご覧ください。
各呼び出しでは限られた数のオブジェクトが返され、継続トークンが返された場合にのみ次の呼び出しが開始されます。
使用するパラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| max_keys | String | 必須パラメータです。ページネーションで一覧取得できるオブジェクトの最大数を保持します。 |
| continuation_token | String | 必須パラメータです。次のオブジェクトセットを取得するためのトークンを保持します。 |
| prefix | String | 任意パラメータです。プレフィックス値に一致するオブジェクトを一覧取得します。 |
| order_by | String | 任意パラメータです。オブジェクトを昇順または降順で一覧取得します。デフォルト値: asc |
| folder_listing | String | 任意パラメータです。バケット内のルートレベルのオブジェクトのみを一覧取得するか、バケット内のすべてのパスに存在するすべてのオブジェクトを一覧取得するかを選択します。デフォルト値: false 例えば、値をtrueに設定すると、ルートレベルのオブジェクトのみが一覧表示されます。値をfalseに設定すると、バケット内のすべてのパスに存在するすべてのオブジェクトが一覧表示されます。 |
以下のSDKメソッドでは、max_keysを使用してページネーションの最大値を設定します。prefixを使用すると、prefix:に一致するオブジェクトのみを一覧取得できます。
取得するレスポンスには、バケットの以下のプロパティが含まれ、moreOptionsに格納されます:
- key count: 返されるオブジェクトの数の値を保持します
- max_key: 返されるオブジェクトの最大数
- Truncated: バケットがトランケートされているかどうかのステータスを保持します
- contents: オブジェクト詳細のリスト
- next_token: レスポンスがトランケートされた場合、このキーの値を次のオブジェクトセットを取得するために同じメソッドにnext_tokenとして渡す必要があります。
各イテレーションで、max_keysの数のオブジェクトを一覧取得し、next_tokenが作成されたかどうかを確認します。next_tokenを使用して、すべてのオブジェクトが一覧取得されるまでイテレーションを続けます。
copy
# ページネーションを使用してバケットからオブジェクトを一覧取得する再帰関数を定義する
def list_my_paged_objects(max_keys=None, prefix=None, next_token=None):
# 指定されたオプションでバケットからページ分割されたオブジェクトリストを取得する
data = bucket.list_paged_objects(
max_keys, # この呼び出しで取得するオブジェクトの最大数
prefix, # このプレフィックスで始まるオブジェクトをフィルタリングする
next_token, # 次のページの結果を取得するための継続トークン
folder_listing=True, # フォルダ構造でオブジェクトを一覧表示する
order_by='desc' # オブジェクトを降順でソートする(最新のものが先頭)
)
# 取得したオブジェクトのリストを表示する
print(data['contents'])
# さらにオブジェクトが利用可能かどうかを確認する(ページネーションがまだ完了していない場合)
if data['truncated']:
# 再帰的に関数を呼び出して次のページのオブジェクトを取得する
list_my_paged_objects(max_keys, prefix, data['next_continuation_token'])
#ページサイズ2でオブジェクトの一覧取得を開始する
list_my_paged_objects(2, '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"
}
]
}
イテレーションによるオブジェクトの一覧取得
このSDKメソッドを使用すると、イテレーション技術を使用して、単一のAPI呼び出しでバケット内に存在するすべてのオブジェクトを取得できます。以下のコードスニペットで使用されているBucketの参照は、コンポーネントインスタンスです。
情報: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、こちらのセクションをご覧ください。
copy
# 指定されたオプションでイテラブルページネーションを使用してバケットからオブジェクトを一覧取得する
objects = bucket.list_iterable_objects(
max_keys=5, # バッチごとに取得するオブジェクトの最大数(デフォルトは1000)
prefix='sam', # このプレフィックスで始まるオブジェクトをフィルタリングする
folder_listing=True, # フォルダ構造でオブジェクトを一覧表示する(デフォルトはFalse)
order_by='desc' # オブジェクトを降順でソートする(デフォルトは'asc')
)
#各オブジェクトキーをイテレーションして表示する
for key in objects:
print(key)
レスポンス例
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-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit