MENU
category

[SAP-BTP]Object Storeとは何か、利用方法は?

  • Object Storeとは、AWS、GCP、Azureいずれかの、クラウドサービスを利用するストレージサービスを指す。
     例:AWSの場合は、S3を使用。
  • Object Storeインスタンスを有効化し、BTP上のアプリケーションにバインドすることで、BTPのバインドしたアプリケーションから、Object Storeを利用するための環境※が構築される。

※AWSの場合、具体的には、以下が実行される。

  • Object Storeインスタンスの有効化によって、行われること。
    • S3のバケット作成(バケット名は自動生成)
    • バケットにアクセス可能なIAMユーザの作成(IAMユーザ名は自動生成)
      ※該当IAMユーザを使用して、AWSコンソールログオンはできない。
    • IAMユーザのクレデンシャル発行
  • Object Storeインスタンスのアプリケーションへのバインドによって、行われること。
    上記1.~3.の情報を、Object Store(S3)を使用するBTP上のスクラッチアプリケーションの「環境変数」の値として設定する。なお、設定した「環境変数」の値は、バインドされたアプリケーション上のソースから読み込むことが可能。
    ※以下、環境変数の値をJAVAアプリケーションから読み込む場合の例:
@Value("${vcap.services.objectstore.credentials.access_key_id}")
String accessKeyId;
@Value("${vcap.services.objectstore.credentials.secret_access_key}")
String secretAccessKey;
@Value("${vcap.services.objectstore.credentials.bucket}")
String bucketName;
@Value("${vcap.services.objectstore.credentials.host}")
String endPoint;
@Value("${vcap.services.objectstore.credentials.region}")
String bucketRegion;

 ファイルのアップロード操作は、AWS SDKや、AWS CLIを使用する。JAVAの場合の使用例は以下。

S3接続:
//Using setEndPoint method
AWSCredentials credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey);
AmazonS3 s3client = null;
s3client = new AmazonS3Client(credentials);
s3client.setEndPoint(endPoint);
 
//Using region method
AWSCredentials credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey);
AmazonS3 s3client = null;
s3client = new AmazonS3Client(credentials);
s3client.setRegion(bucketRegion);
 
ファイルアップロード:
s3client.putObject(new PutObjectRequest(bucketName, objectName, file));

参考:https://help.sap.com/docs/ObjectStore/2ee77ef7ea4648f9ab2c54ee3aef0a29/32517ae707c44ad48f635ea6bcbe271a.html?locale=en-US&q=bind%20aws%20application

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次