使用 AWS SDK 从多区域接入点中获取 Amazon S3 对象
以下代码示例显示如何从多区域接入点中获取对象。
- Kotlin
-
- 适用于 Kotlin 的 SDK
-
注意
查看 GitHub,了解更多信息。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 将 S3 客户端配置为使用非对称 Sigv4(Sigv4a)签名算法。
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 版本的详细信息。
将对象下载到本地目录
如果对象已修改,则从桶中获取该对象