バケットは、Object Storage Service (OSS) でオブジェクトを格納するために使用されるコンテナーです。OSS 内のすべてのオブジェクトはバケットに格納されます。このトピックでは、バケットのアクセス制御リスト (ACL) を照会する方法について説明します。
バケットには、次の 3 種類の ACL があります。
アクセス権限 | 説明 | アクセス権限 |
非公開 | バケットのオーナーと権限を付与されたユーザーのみが、バケット内のオブジェクトに対する読み取りおよび書き込み権限を持ちます。他のユーザーはバケット内のオブジェクトにアクセスできません。 | private |
公開読み取り | バケットのオーナーと権限を付与されたユーザーのみが、バケット内のオブジェクトに対する読み取りおよび書き込み権限を持ちます。他のユーザーは、バケット内のオブジェクトに対する読み取り権限のみを持ちます。バケットの ACL をこの値に設定する場合は、注意が必要です。 | public-read |
公開読み書き | すべてのユーザーがバケット内のオブジェクトに対する読み取りおよび書き込み権限を持ちます。バケットの ACL をこの値に設定する場合は、注意が必要です。 | public-read-write |
注意事項
このトピックのサンプルコードを実行する前に、カスタムドメイン名の使用や Security Token Service (STS) などの方法で OSSClient インスタンスを作成する必要があります。詳細については、「初期化 (Android SDK)」をご参照ください。
例
次のコードは、バケットの ACL を取得する方法の例を示しています。
GetBucketACLRequest getBucketACLRequest = new GetBucketACLRequest("bucketName");
// バケットの ACL を取得します。
OSSAsyncTask getBucketAclTask = oss.asyncGetBucketACL(getBucketACLRequest, new OSSCompletedCallback<GetBucketACLRequest, GetBucketACLResult>() {
@Override
public void onSuccess(GetBucketACLRequest request, GetBucketACLResult result) {
Log.d("asyncGetBucketACL", "Success!");
Log.d("BucketAcl", result.getBucketACL());
Log.d("Owner", result.getBucketOwner());
Log.d("ID", result.getBucketOwnerID());
}
@Override
public void onFailure(GetBucketACLRequest request, ClientException clientException, ServiceException serviceException) {
// リクエストの例外を処理します。
if (clientException != null) {
// クライアントの例外 (ネットワーク例外など) を処理します。
clientException.printStackTrace();
}
if (serviceException != null) {
// サービスの例外を処理します。
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});関連リファレンス
バケットの ACL を照会するために使用される完全なサンプルコードについては、GitHub をご参照ください。
バケットの ACL を照会するために呼び出すことができる API 操作の詳細については、「GetBucketAcl」をご参照ください。
OSSClient インスタンスを初期化する方法の詳細については、「初期化」をご参照ください。