お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

バケット内のオブジェクト一覧取得

ページネーションによる全オブジェクトの一覧取得

この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