本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SDK 從多區域存取點取得 Amazon S3 物件 AWS
下列程式碼範例示範如何從多區域存取點取得物件。
- 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(DefaultAwsSigner) 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 }-
如需詳細資訊,請參閱適用於 Kotlin 的AWS SDK 開發人員指南。
-
如需 API 詳細資訊,請參閱《適用於 Kotlin 的AWS SDK API 參考》中的 GetObject
。
-
如需 AWS SDK 開發人員指南和程式碼範例的完整清單,請參閱 使用 AWS SDKs 使用 Amazon S3 進行開發。此主題也包含有關入門的資訊和舊版 SDK 的詳細資訊。
下載大小不明的串流
從儲存貯體中取得物件 (如果其已修改的話)