すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケットの一覧表示

最終更新日:Dec 10, 2024

バケットは、Object Storage Service (OSS) に保存されているオブジェクトのコンテナです。 OSS内のすべてのオブジェクトはバケットに含まれています。 バケツはアルファベット順にリストされています。 すべてのリージョンで現在のAlibaba Cloudアカウントに属し、特定の条件を満たすバケットを一覧表示できます。

使用上の注意

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。

Alibaba Cloudアカウント内のすべてのバケットを一覧表示する

次のサンプルコードは、現在のAlibaba Cloudアカウント内のすべてのリージョンのバケットを一覧表示する方法の例を示しています。

// List all buckets that belong to the current Alibaba Cloud account in all regions. 
ListBucketsRequest request = new ListBucketsRequest();
ossClient.asyncListBuckets(request, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List<OSSBucketSummary> buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            Log.i("info", "name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // Handle request exceptions. 
        if (clientException != null) {
            // Handle client-side exceptions, such as network errors. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Handle server-side exceptions. 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

指定されたプレフィックスを名前に含むバケットを一覧表示する

次のサンプルコードは、現在のAlibaba Cloudアカウント内のすべてのリージョンで、名前にサンプルプレフィックスが含まれているバケットを一覧表示する方法の例を示しています。

説明

プレフィックスベースのリストは、ファジーマッチングを使用し、指定されたプレフィックスで始まる名前のバケットを返します。 たとえば、指定されたプレフィックスがaの場合、abucketやabcbucketなど、アカウント内で名前が「a」で始まるすべてのバケットが返されます。

// Specify the URL of the STS application server. Example: http://example.com. 
String stsServer = "http://example.com";
// We recommend that you use OSSAuthCredentialsProvider. The token is automatically updated after it expires. 
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// List all buckets whose names start with the example prefix within the current account. 
request.setPrefix("example");
ossClient.asyncListBuckets(request, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List<OSSBucketSummary> buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            Log.i("i", "name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // Handle request exceptions. 
        if (clientException != null) {
            // Handle client-side exceptions, such as network errors. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Handle server-side exceptions. 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

マーカーで指定されたバケットの後に名前がアルファベット順であるバケットを一覧表示する

次のサンプルコードは、現在のAlibaba Cloudアカウント内のすべてのリージョンで、名前がexamplebucketという名前のバケットの後にアルファベット順になっているバケットを一覧表示する方法の例を示しています。

説明

プレフィックスベースのリストは、ファジーマッチングを使用し、指定されたプレフィックスで始まる名前のバケットを返します。 たとえば、指定されたプレフィックスがaの場合、abucketやabcbucketなど、アカウント内で名前が「a」で始まるすべてのバケットが返されます。

// Specify the URL of the STS application server. Example: http://example.com. 
String stsServer = "http://example.com";
// We recommend that you use OSSAuthCredentialsProvider. The token is automatically updated after it expires. 
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// List all buckets whose names are alphabetically after examplebucket within the current account. 
request.setMarker("examplebucket");
ossClient.asyncListBuckets(request, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List<OSSBucketSummary> buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            Log.i("i", "name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // Handle request exceptions. 
        if (clientException != null) {
            // Handle client-side exceptions, such as network errors. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Handle server-side exceptions. 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

特定の数のバケットを一覧表示する

次のサンプルコードは、現在のAlibaba Cloudアカウント内のすべてのリージョンのバケットを一覧表示し、一覧表示できるバケットの最大数を500に設定する方法の例を示しています。

// Specify the URL of the STS application server. Example: http://example.com. 
String stsServer = "http://example.com";
// We recommend that you use OSSAuthCredentialsProvider. The token is automatically updated after it expires. 
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// List all buckets that belong to the current account. Set the maximum number of buckets that can be returned by the listing operation to 500. The default value is 100, and the maximum value is 1000. 
request.setMaxKeys(500);
ossClient.asyncListBuckets(request, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List<OSSBucketSummary> buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            Log.i("i", "name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // Handle request exceptions. 
        if (clientException != null) {
            // Handle client-side exceptions, such as network errors. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Handle server-side exceptions. 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

関連ドキュメント

  • バケットの一覧表示に使用する完全なサンプルコードについては、『GitHub』をご参照ください。

  • バケットを一覧表示するために呼び出すAPI操作の詳細については、「ListBuckets (GetService) 」をご参照ください。