AWS SDK を使用してマルチリージョンアクセスポイントから Amazon S3 オブジェクトを取得する
次のコード例は、マルチリージョンアクセスポイントからオブジェクトを取得する方法を示しています。
- Kotlin
-
- SDK for Kotlin
-
注記
GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリ
での設定と実行の方法を確認してください。 非対称 Sigv4 (Sigv4a) 署名アルゴリズムを使用するように S3 クライアントを設定します。
suspend fun createS3Client(): S3Client { // Configure your S3Client to use the Asymmetric Sigv4 (Sigv4a) signing algorithm. val sigV4AScheme = SigV4AsymmetricAuthScheme(CrtAwsSigner) val s3 = S3Client.fromEnvironment { authSchemes = listOf(sigV4AScheme) } return s3 }
バケット名の代わりにマルチリージョンアクセスポイント ARN を使用してオブジェクトを取得します。
suspend fun getObjectFromMrap( s3: S3Client, mrapArn: String, keyName: String, ): String? { val request = GetObjectRequest { bucket = mrapArn // Use the ARN instead of the bucket name for object operations. key = keyName } var stringObj: String? = null s3.getObject(request) { resp -> stringObj = resp.body?.decodeToString() if (stringObj != null) { println("Successfully read $keyName from $mrapArn") } } return stringObj }
-
詳細については、「AWS SDK for Kotlin デベロッパーガイド」を参照してください。
-
API の詳細については、「AWS SDK for Kotlin API リファレンス」の「GetObject
」を参照してください。
-
AWS SDK デベロッパーガイドとコード例の完全なリストについては、「このサービスを AWS SDK で使用する」を参照してください。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。
ローカルディレクトリへのオブジェクトのダウンロード
バケットが変更されている場合、バケットからオブジェクトを取得する