AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用多区域接入点获取 Amazon S3 对象 AWS SDK
以下代码示例显示如何从多区域接入点中获取对象。
- Kotlin
-
- SDK对于 Kotlin 来说
-
注意
还有更多相关信息 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请参阅 Kotlin 开发者指南。
-
有关API详细信息,请参阅GetObject
中的 Kotlin AWS SDK API 参考。
-
将对象下载到本地目录
如果对象已修改,则从桶中获取该对象