バケット内のオブジェクト一覧取得
ページネーションによる全オブジェクトの一覧取得
このSDKメソッドを使用すると、特定のバケットに存在するすべてのオブジェクトをページネーションで取得できます。以下のコードスニペットで使用されているBucket参照は、コンポーネントインスタンスです。
Info: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、こちらのセクションを参照してください。
各呼び出しでは、限られた数のオブジェクトが返され、次の呼び出しはcontinuationトークンが返された場合にのみ開始されます。
使用パラメータ
| パラメータ名 | データ型 | 定義 |
|---|---|---|
| maxKey | String | 必須パラメータです。ページネーションで一覧取得できるオブジェクトの最大数を指定します。 |
| nextToken | String | 必須パラメータです。次のオブジェクトセットを取得するためのトークンを保持します。 |
| prefix | String | 任意パラメータです。プレフィックス値に一致するオブジェクトを一覧取得します。 |
| orderBy | String | 任意パラメータです。オブジェクトを昇順または降順で一覧取得します。デフォルト値:asc |
取得したレスポンスには、バケットの以下のプロパティが含まれ、moreOptionsに格納されます:
- key count:返されるオブジェクトの数の値を保持します
- max keys:返すことができるオブジェクトの最大数
- Truncated:バケットがトランケートされているかどうかを通知するステータスを保持します
- contents:オブジェクトの詳細のリスト
- continuation_token:リクエストでcontinuation_tokenを送信した場合、レスポンスに表示されます
- next_continuation_token:レスポンスがトランケートされた場合、このキーの値を次のオブジェクトセットを取得するために同じメソッドにcontinuation_tokenとして渡す必要があります
各イテレーションでmaxKeyの数のオブジェクトを一覧取得し、nextTokenが作成されたかどうかを確認します。nextTokenを使用して、すべてのオブジェクトが一覧取得されるまでイテレーションを続行します。
以下のパッケージがインポートされていることを確認してください:
copy
import com.zc.component.stratus.ZCBucket;
import com.zc.component.stratus.ZCStratus;
import com.zc.component.stratus.beans.ZCListObjectOptions;
import com.zc.component.stratus.beans.ZCPagedObjectResponse;
import com.zc.component.stratus.ZCObject;
copy
String nextToken = null;
String maxKey = "10";
String prefix = "Sam";
do {
ZCListObjectOptions options = new ZCListObjectOptions();
options.setMaxKey(maxKey); // デフォルト: 1000
options.setContinuationToken(nextToken); // 次のページを取得
options.setFolderListing("true"); // デフォルト: false
options.setOrderBy("desc"); // デフォルト: "asc"
options.setPrefix(prefix); // オプション
ZCPagedObjectResponse res = bucket.listPagedObjects(options);
System.out.println("Object count: " + res.getKeyCount());
System.out.println("Max key: " + res.getMaxKey());
System.out.println("Is truncated: " + res.getTruncated());
for (ZCObject key : res.getContents()) {
System.out.println("Object name: " + key.getKey());
System.out.println("Content type: " + key.getContentType());
System.out.println("Size: " + key.getSize());
System.out.println("Metadata: " + key.getMetaData());
System.out.println("Version ID: " + key.getVersionId());
System.out.println("ETag: " + key.getEtag());
System.out.println("Object type: " + key.getKeyType());
System.out.println("Cached URL: " + key.getCachedUrl());
}
nextToken = res.getNextToken();
} while (nextToken != null);
イテレーションによるオブジェクトの一覧取得
このSDKメソッドを使用すると、イテレーション技法を使用して単一のAPI呼び出しでバケット内のすべてのオブジェクトを取得できます。以下のコードスニペットで使用されているBucket参照は、コンポーネントインスタンスです。
Info: このSDKメソッドを使用するには、Adminスコープで初期化する必要があります。この要件の詳細については、こちらのセクションを参照してください。
以下のパッケージがインポートされていることを確認してください:
copy
import java.util.Iterator;
import com.zc.component.stratus.ZCObject;
import com.zc.component.stratus.beans.ZCListObjectOptions;
import java.util.List;
copy
ZCListObjectOptions options = new ZCListObjectOptions();
options.setFolderListing("true"); // デフォルト: false
options.setMaxKey("2"); // デフォルト: 1000
options.setOrderBy("desc"); // デフォルト: "asc"
// イテラブルオブジェクトリストを取得する
Iterable<List<ZCObject>> paginationIterable = bucket.listIterableObjects(options);
Iterator<List<ZCObject>> iterator = paginationIterable.iterator();
while (iterator.hasNext()) {
List<lZCObject> objectList = iterator.next();
for (ZCObject obj : objectList) {
System.out.println(obj.getKey());
}
}
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit