CloudBox 上の Object Storage Service (OSS) を使用すると、ローカルデータを監視および処理できます。 CloudBox 上の OSS は、低レイテンシと複数ブランチの統合管理が必要なシナリオに適しています。 CloudBox 上の OSS を使用する前に、CloudBox 上の OSS バケットを作成する必要があります。
前提条件
CloudBox 上の OSS は、中国 (杭州)、中国 (上海)、中国 (深圳)、中国 (河源)、中国 (北京)、および中国 (成都) リージョンでのみサポートされています。
クラウドボックスが購入済みであること。 詳細については、「クラウドボックスを購入する」をご参照ください。
CloudBox 上の OSS に Virtual Private Cloud (VPC) と vSwitch が作成されていること。 詳細については、「VPC と vSwitch を作成する」をご参照ください。
VPC 内部ネットワークがセットアップされ、単一トンネルが設定されて安全な接続が提供されていること。 この機能を申請するには、technical support にお問い合わせください。
手順
OSS コンソールを使用する
OSS コンソール にログオンします。
左側のナビゲーションウィンドウで、データサービス > [CloudBox 上の OSS バケット] を選択し、左上隅にある [バケットの作成] をクリックします。
[バケットの作成] パネルで、パラメーターを指定し、[作成完了] をクリックします。 次の表にパラメーターを示します。
パラメーター | 説明 |
バケット名 | 作成する CloudBox 上の OSS バケットの名前。 CloudBox 上の OSS バケットの名前は、次の要件を満たしている必要があります。
|
リージョン | 購入したクラウドボックスが配置されているリージョン。 |
エンドポイント | CloudBox 上の OSS バケットへのアクセスに使用されるエンドポイント。 リージョンとクラウドボックスの ID を選択すると、エンドポイントが CloudBox 上の OSS バケットに自動的に関連付けられます。 エンドポイントは、コントロールエンドポイントとデータエンドポイントに分けられます。 コントロールエンドポイントは |
ストレージクラス | CloudBox 上の OSS バケットのストレージクラス。 有効な値: 標準。 |
冗長性 | CloudBox 上の OSS バケットの冗長性タイプ。 有効な値: LRS。 |
ACL | CloudBox 上の OSS バケットのアクセス制御リスト (ACL)。
|
Cloud Box ID | 購入したクラウドボックスの ID。 |
バージョニング | バージョニングを有効にするかどうかを指定します。 有効な値:
|
暗号化方法 | CloudBox 上の OSS バケット内のオブジェクトの暗号化に使用される方法。 有効な値:
暗号化アルゴリズム: AES-256 のみがサポートされています。 |
OSS SDK for Java を使用する
CloudBox 上の OSS バケットは、OSS SDK for Java を使用することによってのみ作成できます。 OSS 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 {
// CloudBox 上の OSS バケットのデータエンドポイントを指定します。
String endpoint = "https://cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com";
// 環境変数からアクセス認証情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// CloudBox 上の OSS バケットの名前を指定します。 例: examplebucket。
String bucketName = "examplebucket";
// CloudBox 上の OSS バケットが配置されているリージョンを指定します。
String region = "cn-hangzhou";
// クラウドボックスの ID を指定します。
String cloudBoxId = "cb-f8z7yvzgwfkl9q0h****";
// OSSClient インスタンスを作成します。
// 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);
// CloudBox 上の OSS バケットの ACL を public-read に設定します。 デフォルトの ACL は private です。
//createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
// CloudBox 上の OSS バケットを作成します。
ossClient.createBucket(createBucketRequest);
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
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 an 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 を使用して、CloudBox 上の OSS バケットを作成できます。 詳細については、「put-bucket」をご参照ください。
OSS API を使用する
ビジネスで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。 API を直接呼び出すには、コードに署名計算を含める必要があります。 詳細については、「PutBucket」をご参照ください。