Help Center/ Object Storage Service/ SDK Reference/ Android/ Bucket APIs/ Direct Reading/ Obtaining the Direct Reading Configuration of a Bucket
Updated on 2026-09-20 GMT+08:00

Obtaining the Direct Reading Configuration of a Bucket

Function

This API is used to obtain the direct reading configuration of a bucket.

Restrictions

Method

obsClient.getBucketDirectColdAccess(BaseBucketRequest request)

Request Parameters

Table 1 List of request parameters

Parameter

Type

Mandatory (Yes/No)

Description

request

BaseBucketRequest

Yes

Explanation:

Request parameters for obtaining the direct reading configuration of a bucket. For details, see Table 2.

Table 2 BaseBucketRequest

Parameter

Type

Mandatory (Yes/No)

Description

bucketName

String

Yes

Explanation:

Bucket name.

Restrictions:

  • A bucket name must be unique across all accounts and regions.
  • A bucket name:
    • Must be 3 to 63 characters long and start with a digit or letter. Lowercase letters, digits, hyphens (-), and periods (.) are allowed.
    • Cannot be formatted as an IP address.
    • Cannot start or end with a hyphen (-) or period (.).
    • Cannot contain two consecutive periods (..), for example, my..bucket.
    • Cannot contain a period (.) and a hyphen (-) adjacent to each other, for example, my-.bucket or my.-bucket.
  • If you repeatedly create buckets of the same name in the same region, no error will be reported and the bucket attributes comply with those set in the first creation request.

Default value:

None

Responses

Table 3 BucketDirectColdAccess

Parameter

Type

Description

status

RuleStatusEnum

Explanation:

Direct reading status of a bucket. If direct reading has never been configured for a bucket or the direct reading configuration has been deleted, no direct reading status will be returned.

Value range:

For details, see Table 4.

Table 4 RuleStatusEnum

Constant

Default Value

Description

ENABLED

Enabled

Direct reading is enabled for a bucket.

DISABLED

Disabled

Direct reading is disabled for a bucket.

Sample Code

This example obtains the direct reading configuration of a bucket.

import android.util.Log;
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.BucketDirectColdAccess;
import com.obs.services.model.BaseBucketRequest;
import com.obs.services.model.DirectColdAccessEnum;

// Note: Network operations must be performed in a child thread. Otherwise, NetworkOnMainThreadException will be thrown.
new Thread(() -> {
    // Security warning: Hard-coded AK and SK are risky. You are advised to obtain the AK and SK from the security credential management system.
    String ak = System.getenv("ACCESS_KEY_ID");
    String sk = System.getenv("SECRET_ACCESS_KEY");
    String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";

    ObsClient obsClient = null;
    try {
        obsClient = new ObsClient(ak, sk, endPoint);

        String bucketName = "examplebucket";

        // Obtain the direct reading configuration of a bucket.
        BucketDirectColdAccess result = obsClient.getBucketDirectColdAccess(bucketName);
        Log.i("ObsDemo", "Obtained the direct reading configuration of the bucket successfully. Direct reading configuration: " + result.getDirectColdAccess());
    } catch (ObsException e) {
        Log.e("ObsDemo", "Failed to obtain the direct reading configuration of the bucket. HTTP status code: " + e.getResponseCode()
                + ". Error code: " + e.getErrorCode()
                + ". Error message: " + e.getErrorMessage());
    } finally {
        if (obsClient != null) {
            try {
                obsClient.close();
            } catch (Exception e) {
                Log.e("ObsDemo", "Failed to close ObsClient.", e);
            }
        }
    }
}).start();