View a markdown version of this page

SDK for Kotlin の使用を開始する - AWS SDK for Kotlin

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

SDK for Kotlin の使用を開始する

AWS SDK for Kotlinには、それぞれの Kotlin APIs AWS のサービス。SDK を使用すると、Amazon S3、Amazon 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 を使用して新しいプロジェクトを作成するには

注記

このチュートリアルでは、 コマンドで Gradle バージョン 8.11.1 を使用します。このgradle initコマンドは、以下のステップ 3 で 5 つのプロンプトを提供します。別のバージョンの Gradle を使用すると、プロンプトと、事前入力されたアーティファクトのバージョンが異なる場合があります。

  1. デスクトップやホームフォルダなど、任意のgetstarted場所に という名前の新しいディレクトリを作成します。

  2. ターミナルまたはコマンドプロンプトウィンドウを開き、作成したgetstartedディレクトリに移動します。

  3. 次のコマンドを使用して、新しい 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ようにプロジェクトのデフォルトクラスを編集します。

  1. プロジェクトフォルダ app で、ディレクトリ src/main/kotlin/org/example に移動します。App.kt ファイルを開きます。

  2. その内容を次のコードに置き換え、ファイルを保存します。

    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: アプリケーションをビルドして実行する

プロジェクトが作成され、サンプルクラスを含めたら、アプリケーションを構築して実行します。

  1. ターミナルまたはコマンドプロンプトウィンドウを開いて、プロジェクトディレクトリ getstarted に移動します。

  2. 次のコマンドを使用して、アプリケーションを構築して実行します。

    gradle run
注記

を取得した場合IdentityProviderException、アクティブなシングルサインオンセッションがない可能性があります。aws sso loginAWS CLI コマンドを実行して新しいセッションを開始します。

アプリケーションは createBucket API オペレーションを呼び出して新しい S3 バケットを作成し、putObject を呼び出して新しいオブジェクトを新しい S3 バケットに配置します。

最後の cleanUp()関数では、アプリケーションはオブジェクトを削除し、S3 バケットを削除します。

Amazon S3 コンソールで結果を表示するには

  1. でApp.kt、 runBlockingセクションの行cleanUp(s3)をコメントアウトし、ファイルを保存します。

  2. プロジェクトを再構築し、 を実行して新しいオブジェクトを新しい S3 バケットに配置しますgradle run。

  3. Amazon S3 コンソールにサインインして、新しい S3 バケットの新しいオブジェクトを表示します。

オブジェクトを表示したら、S3 バケットを削除します。

Success

Gradle プロジェクトがエラーなしで構築および実行された場合は、おめでとうございます。を使用して最初の Kotlin アプリケーションを正常に構築しましたAWS SDK for Kotlin。

クリーンアップ

新しいアプリケーションの開発が完了したら、このチュートリアルで作成したAWSリソースをすべて削除して、料金が発生しないようにします。ステップ 2 で作成したプロジェクトフォルダ (get-started) を削除またはアーカイブすることもできます。

リソースをクリーンアップするには、次の手順に従います。

  • cleanUp() 関数への呼び出しをコメントアウトした場合は、Amazon S3 コンソールを使用して S3 バケットを削除します。 Amazon S3

次の手順

これで基本を理解したので、次の事項を学習する準備が整いました。