バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 OSS内のすべてのオブジェクトはバケットに保存されます。 このトピックでは、バケットのアクセス制御リスト (ACL) をクエリする方法について説明します。
次の表に、バケットACLを示します。
ACL | 説明 | 値 |
プライベート | バケット内のオブジェクトに対する読み取りおよび書き込み権限を持つのは、バケット所有者と許可されたユーザーのみです。 他のユーザーはバケット内のオブジェクトにアクセスできません。 | 非公開 |
公開読み取り | バケット内のオブジェクトに対する読み取りおよび書き込み権限を持つのは、バケット所有者と許可されたユーザーのみです。 他のユーザーには、バケット内のオブジェクトに対する読み取り権限のみがあります。 バケットACLをこの値に設定する場合は注意してください。 | 公開読み取り |
パブリック読み取り /書き込み | すべてのユーザーは、バケット内のオブジェクトに対する読み取りおよび書き込み権限を持っています。 バケットACLをこの値に設定する場合は注意してください。 | 公開読み取り/書き込み |
使用上の注意
このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。
例
次のサンプルコードは、バケットのACLを照会する方法の例を示しています。
GetBucketACLRequest getBucketACLRequest=新しいGetBucketACLRequest("bucketName");
// バケットのACLを照会します。
OSSAsyncTask getBucketAclTask = oss.asyncGetBucketACL(getBucketACLRequest, new OSSCompletedCallback<GetBucketACLRequest, GetBucketACLResult>() {
@オーバーライド
public void onSuccess(GetBucketACLRequestリクエスト、GetBucketACLResult結果) {
Log.d("asyncGetBucketACL" 、"Success!");
Log.d("BucketAcl", result.getBucketACL());
Log.d("Owner", result.getBucketOwner());
Log.d("ID", result.getBucketOwnerID());
}
@オーバーライド
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インスタンスを初期化する方法の詳細については、「初期化」をご参照ください。