翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SDK for Kotlin の使用を開始する
AWS SDK for Kotlin には、それぞれの Kotlin APIsが用意されています AWS のサービス。SDK を使用すると、Amazon S3、Amazon EC2Amazon EC2、Amazon DynamoDB などで動作する Kotlin アプリケーションを構築できます。
このチュートリアルでは、Gradle を使用して の依存関係を定義する方法を示します AWS SDK for Kotlin。次に、DynamoDB テーブルにデータを書き込むコードを作成します。IDE の機能を使用することもできますが、このチュートリアルに必要なのはターミナルウィンドウとテキストエディタだけです。
このチュートリアルを完了するには、次の手順に従ってください。
ステップ 1: このチュートリアルのために設定する
このチュートリアルを開始する前に、DynamoDB にアクセスできる IAM Identity Center アクセス許可セットと、IAM Identity Center のシングルサインオン設定で構成された Kotlin 開発環境が必要です AWS。
このチュートリアルの基本設定を取得するには、このガイド基本的なセットアップの「」の手順に従います。
Kotlin SDK のシングルサインオンアクセスを使用して開発環境を設定し、アクティブな AWS アクセスポータルセッションを取得したら、ステップ 2 に進みます。
ステップ 2: プロジェクトを作成する
このチュートリアルのプロジェクトを作成するには、まず Gradle を使用して Kotlin プロジェクトの基本的なファイルを作成します。次に、 に必要な設定、依存関係、コードでファイルを更新します AWS SDK for Kotlin。
Gradle を使用して新しいプロジェクトを作成するには
注記
このチュートリアルでは、以下のステップ 3 で 5 つのプロンプトを提供する gradle init コマンドで Gradle バージョン 8.11.1 を使用します。別のバージョンの Gradle を使用する場合、プロンプトは、アーティファクトの事前入力されたバージョンと同様に、 と が異なる場合があります。
-
デスクトップやホームフォルダなど、任意の
getstarted場所に という名前の新しいディレクトリを作成します。 -
ターミナルまたはコマンドプロンプトウィンドウを開き、作成した
getstartedディレクトリに移動します。 -
次のコマンドを使用して、新しい Gradle プロジェクトと基本的な Kotlin クラスを作成します。
gradle init --type kotlin-application --dsl kotlin-
ターゲット の入力を求められたら
Java version、 を押しますEnter(デフォルトは21)。 -
を求められたら
Project name、 を押しますEnter(このチュートリアルgetstartedでは、デフォルトでディレクトリ名になります)。 -
の入力を求められたら
application structure、 を押しますEnter(デフォルトはSingle application project)。 -
とプロンプトが表示されたら
Select test framework、 を押しますEnter(デフォルトはkotlin.test)。 とプロンプトが表示されたら
Generate build using new APIs and behavior、 を押しますEnter(デフォルトはno)。
-
と Amazon S3 の AWS SDK for Kotlin 依存関係を使用してプロジェクトを設定するには
-
前の手順で作成した
getstartedディレクトリで、settings.gradle.ktsファイルの内容を次のコンテンツに置き換え、X.Y.Zを SDK for Kotlin の最新バージョンに置き換えます。 dependencyResolutionManagement { repositories { mavenCentral() } versionCatalogs { create("awssdk") { from("aws.sdk.kotlin:version-catalog:X.Y.Z") } } } plugins { // Apply the foojay-resolver plugin to allow automatic download of JDKs. id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } rootProject.name = "getstarted" include("app") -
gradleディレクトリ内のgetstartedディレクトリに移動します。という名前のバージョンカタログファイルの内容を次の内容libs.versions.tomlに置き換えます。[versions] junit-jupiter-engine = "5.10.3" [libraries] junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit-jupiter-engine" } [plugins] kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "2.1.0" } -
appディレクトリに移動し、build.gradle.ktsファイルを開きます。その内容を次のコードに置き換えて、変更を保存します。plugins { alias(libs.plugins.kotlin.jvm) application } dependencies { implementation(awssdk.services.s3) // Add dependency on the AWS SDK for Kotlin's S3 client. testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testImplementation(libs.junit.jupiter.engine) testRuntimeOnly("org.junit.platform:junit-platform-launcher") } java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } application { mainClass = "org.example.AppKt" } tasks.named<Test>("test") { useJUnitPlatform() }dependenciesセクションには、 の Amazon S3 モジュールのimplementationエントリが含まれています AWS SDK for Kotlin。Gradle コンパイラは、javaセクションで Java 21 を使用するように設定されています。
ステップ 3: コードを記述する
プロジェクトを作成して設定したら、次のサンプルコードを使用するAppようにプロジェクトのデフォルトクラスを編集します。
-
プロジェクトフォルダ
appで、ディレクトリsrc/main/kotlin/org/exampleに移動します。App.ktファイルを開きます。 -
その内容を次のコードに置き換え、ファイルを保存します。
package org.example import aws.sdk.kotlin.services.s3.* import aws.sdk.kotlin.services.s3.model.BucketLocationConstraint import aws.smithy.kotlin.runtime.content.ByteStream import kotlinx.coroutines.runBlocking import java.util.UUID val REGION = "us-west-2" val BUCKET = "bucket-${UUID.randomUUID()}" val KEY = "key" fun main(): Unit = runBlocking { S3Client .fromEnvironment { region = REGION } .use { s3 -> setupTutorial(s3) println("Creating object $BUCKET/$KEY...") s3.putObject { bucket = BUCKET key = KEY body = ByteStream.fromString("Testing with the Kotlin SDK") } println("Object $BUCKET/$KEY created successfully!") cleanUp(s3) } } suspend fun setupTutorial(s3: S3Client) { println("Creating bucket $BUCKET...") s3.createBucket { bucket = BUCKET if (REGION != "us-east-1") { // Do not set location constraint for us-east-1. createBucketConfiguration { locationConstraint = BucketLocationConstraint.fromValue(REGION) } } } println("Bucket $BUCKET created successfully!") } suspend fun cleanUp(s3: S3Client) { println("Deleting object $BUCKET/$KEY...") s3.deleteObject { bucket = BUCKET key = KEY } println("Object $BUCKET/$KEY deleted successfully!") println("Deleting bucket $BUCKET...") s3.deleteBucket { bucket = BUCKET } println("Bucket $BUCKET deleted successfully!") }
ステップ 4: アプリケーションをビルドして実行する
プロジェクトが作成され、サンプルクラスを含めたら、アプリケーションを構築して実行します。
-
ターミナルまたはコマンドプロンプトウィンドウを開いて、プロジェクトディレクトリ
getstartedに移動します。 -
次のコマンドを使用して、アプリケーションを構築して実行します。
gradle run
注記
を取得した場合IdentityProviderException、アクティブなシングルサインオンセッションがない可能性があります。aws sso login AWS CLI コマンドを実行して新しいセッションを開始します。
アプリケーションは createBucket API オペレーションを呼び出して新しい S3 バケットを作成し、putObject を呼び出して新しいオブジェクトを新しい S3 バケットに配置します。
末尾の cleanUp()関数では、アプリケーションはオブジェクトを削除し、S3 バケットを削除します。
Amazon S3 コンソールで結果を表示するには
-
で
App.kt、runBlockingセクションの行cleanUp(s3)をコメントアウトし、ファイルを保存します。 -
プロジェクトを再構築し、 を実行して新しいオブジェクトを新しい S3 バケットに配置します
gradle run。 -
Amazon S3 コンソール
にサインインして、新しい S3 バケットの新しいオブジェクトを表示します。
オブジェクトを表示したら、S3 バケットを削除します。
Success (成功)
Gradle プロジェクトがエラーなしで構築および実行された場合は、おめでとうございます。を使用して最初の Kotlin アプリケーションを正常に構築しました AWS SDK for Kotlin。
クリーンアップ
新しいアプリケーションの開発が完了したら、このチュートリアルで作成した AWS リソースをすべて削除して、料金が発生しないようにします。ステップ 2 で作成したプロジェクトフォルダ (get-started) を削除またはアーカイブすることもできます。
リソースをクリーンアップするには、次の手順に従います。
-
cleanUp()関数への呼び出しをコメントアウトした場合は、Amazon S3 コンソールを使用して S3 バケットを削除します。 Amazon S3
次のステップ
これで基本を理解したので、次の事項を学習する準備が整いました。