Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
使用 Amazon SDK 从多区域接入点中获取 Amazon S3 对象
以下代码示例显示如何从多区域接入点中获取对象。
- Kotlin
-
- 适用于 Kotlin 的 SDK
-
将 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
}
有关 Amazon SDK 开发人员指南和代码示例的完整列表,请参阅 将此服务与 Amazon SDK 结合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。