Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

コルーチン - AWS SDK for Kotlin

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コルーチン

AWS SDK for Kotlin はデフォルトで非同期です。SDK for Kotlin は、コルーチンから呼び出されるすべてのオペレーションに suspend関数を使用します。

コルーチンの詳細なガイドについては、公式の Kotlin ドキュメントを参照してください。

同時リクエストの実行

非同期コルーチンビルダーを使用して、結果を重視する同時リクエストを起動できます。 は、後で結果を提供する promise を表す、軽量でノンブロッキングの未来を表す Deferred asyncを返します。

結果に関心がない場合 (オペレーションが完了した場合のみ)、起動コルーチンビルダーを使用できます。 launchは概念的に に似ていますasync。違いは、起動がジョブを返し、結果の値は持たず、 は asyncを返すことですDeferred

以下は、headObject オペレーションを使用して Amazon S3 への同時リクエストを行い、2 つのキーのコンテンツサイズを取得する例です。

import kotlinx.coroutines.async import kotlinx.coroutines.runBlocking import kotlin.system.measureTimeMillis import aws.sdk.kotlin.services.s3.S3Client fun main(): Unit = runBlocking { val s3 = S3Client { region = "us-east-2" } val myBucket = "<your-bucket-name-here>" val key1 = "<your-object-key-here>" val key2 = "<your-second-object-key-here>" val resp1 = async { s3.headObject{ bucket = myBucket key = key1 } } val resp2 = async { s3.headObject{ bucket = myBucket key = key2 } } val elapsed = measureTimeMillis { val totalContentSize = resp1.await().contentLength + resp2.await().contentLength println("content length of $key1 + $key2 = $totalContentSize") } println("requests completed in $elapsed ms") }

ブロックリクエストの作成

コルーチンを使用せず、別のスレッドモデルを実装する既存のコードからサービス呼び出しを行うには、runBlocking コルーチンビルダーを使用できます。別のスレッドモデルの例としては、Java の従来のエグゼキュター/未来アプローチの使用があります。Java と Kotlin のコードまたはライブラリをブレンドする場合は、このアプローチを使用する必要がある場合があります。

名前が示すように、このrunBlockingビルダーは新しいコルーチンを起動し、完了するまで現在のスレッドをブロックします。

警告

runBlocking 通常、コルーチンからは使用しないでください。これは、通常のブロックコードを一時停止スタイルで記述されたライブラリ (主要な関数やテストなど) にブリッジするように設計されています。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.