クラウドボックスの OSS を使用すると、ローカルデータをモニターおよび処理できます。低遅延が求められるユースケースや、複数の支社を統合的に管理するシナリオに最適です。クラウドボックスの OSS を使用する前に、まずクラウドボックスの OSS バケットを作成する必要があります。
前提条件
操作手順
OSS コンソール
-
OSS コンソールにログインします。
左側のナビゲーションウィンドウで、データサービス > CloudBox Bucket を選択し、次に バケットの作成 をクリックします。
バケットの作成 ページで、次のパラメーターを設定し、OK をクリックします。
Parameter
Description
バケット名
バケット名を入力します。バケット名は以下の要件を満たす必要があります。
バケット名は CloudBox 内で一意である必要があります。
- 小文字、数字、ハイフン (-) のみを使用できます。
- 先頭および末尾は小文字または数字である必要があります。
- 長さは 3~63 文字である必要があります。
リージョン
購入済みの CloudBox が配置されているリージョンを選択します。
エンドポイント
リージョンと Cloud Box ID を選択すると、バケットに自動的にエンドポイントが割り当てられます。クラウドボックスの OSS には、
<Cloudbox-Id>.<Region>.oss-cloudbox-control.aliyuncs.com形式の管理エンドポイントと、<Cloudbox-Id>.<Region>.oss-cloudbox.aliyuncs.com形式のデータエンドポイントの 2 種類があります。ストレージクラス
標準 のみがサポートされています。
冗長性
LRS のみがサポートされています。
ACL (アクセス制御リスト)
バケット内のオブジェクトに対する ACL を選択します。
- Private:バケットオーナーのみがバケット内のオブジェクトに対して読み取りおよび書き込み操作を実行できます。他のユーザーはバケット内のオブジェクトにアクセスできません。
- Public Read:バケットオーナーのみがバケット内のオブジェクトに対して書き込み操作を実行できます。他のユーザー(匿名ユーザーを含む)は、バケット内のオブジェクトに対して読み取り操作のみを実行できます。警告 インターネット上のすべてのユーザーがバケット内のオブジェクトにアクセスできるため、予期しないデータへのアクセスや想定外の高額な課金が発生する可能性があります。バケットの ACL を Public Read に設定する際は、十分ご注意ください。
- Public Read/Write:すべてのユーザー(匿名ユーザーを含む)がバケット内のオブジェクトに対して読み取りおよび書き込み操作を実行できます。警告 インターネット上のすべてのユーザーがバケット内のオブジェクトにアクセスしてデータを書き込むことができるため、予期しないデータへのアクセスや想定外の高額な課金が発生する可能性があります。また、禁止されたデータや情報がアップロードされた場合、お客様の正当な権利や利益が侵害されるおそれがあります。特別な事情がない限り、バケットの ACL を Public Read/Write に設定しないことを推奨します。
Cloud Box ID
ご利用の CloudBox ID を選択します。
Versioning
バージョン管理を有効にするかどうかを選択します。
- Activate:バケットでバージョン管理を有効にすると、上書きまたは削除されたオブジェクトは以前のバージョンとして保存されます。バージョン管理により、バケット内のオブジェクトを以前のバージョンに復元でき、誤って上書きまたは削除されるリスクからデータを保護できます。詳細については、「Versioning」をご参照ください。
- Not Activated:バケットでバージョン管理を無効にすると、上書きまたは削除されたオブジェクトは復元できません。
暗号化の方法
サーバ側暗号化方式を選択します。
なし:サーバ側暗号化を無効にします。
OSS で管理:OSS が独自に管理するキーを使用してオブジェクトを暗号化します。さらに強固な保護のために、OSS は各オブジェクトごとに一意キーを使用し、そのキー自体をマスターキーで暗号化します。
サポートされている 暗号化アルゴリズム は AES256 のみです。
Alibaba Cloud SDK
SDK を使用してクラウドボックスの OSS バケットを作成するには、Alibaba Cloud SDK for Java バージョン 3.15.0 以降を使用する必要があります。
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.CreateBucketRequest;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
public class Demo {
public static void main(String[] args) throws Exception {
// クラウドボックスの OSS バケットのデータエンドポイントを指定します。
String endpoint = "https://cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com";
// 環境変数からアクセス認証情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// クラウドボックスの OSS バケット名を指定します(例:examplebucket)。
String bucketName = "examplebucket";
// クラウドボックスの OSS バケットが配置されているリージョンを指定します。
String region = "cn-hangzhou";
// Cloud Box ID を指定します。
String cloudBoxId = "cb-f8z7yvzgwfkl9q0h****";
// OSSClient インスタンスを作成します。
// クライアントが不要になったら shutdown() を呼び出してリソースを解放してください。
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
conf.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(new DefaultCredentialProvider(credentialsProvider.getCredentials()))
.clientConfiguration(conf)
.region(region)
.cloudBoxId(cloudBoxId)
.build();
try {
// CreateBucketRequest オブジェクトを作成します。
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
// クラウドボックスの OSS バケットの ACL を public-read に設定します。デフォルトの ACL は private です。
//createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
// クラウドボックスの OSS バケットを作成します。
ossClient.createBucket(createBucketRequest);
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request reached OSS but was rejected with an error response.");
System.out.println("Error Message:" + oe.getErrorMessage());
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught a ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}ossutil
ossutil を使用してクラウドボックスの OSS バケットを作成する方法については、「put-bucket」をご参照ください。
REST API
高度なカスタマイズが必要な場合は、REST API を直接呼び出すことも可能です。この方法では、リクエスト署名を計算するコードを自分で記述する必要があります。詳細については、「PutBucket」をご参照ください。