

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

# SDK for Kotlin の使用を開始する
<a name="get-started"></a>

 AWS SDK for Kotlin には、それぞれの Kotlin APIs AWS のサービス。SDK を使用すると、Amazon S3、Amazon EC2、Amazon DynamoDB などで動作する Kotlin アプリケーションを構築できます。

このチュートリアルでは、Gradle を使用して の依存関係を定義する方法を示します AWS SDK for Kotlin。次に、DynamoDB テーブルにデータを書き込むコードを作成します。IDE の機能を使用することもできますが、このチュートリアルに必要なのはターミナルウィンドウとテキストエディタだけです。

このチュートリアルを完了するには、次の手順に従ってください。
+  [ステップ 1: このチュートリアルのために設定する](#get-started-setup) 
+  [ステップ 2: プロジェクトを作成する](#get-started-projectsetup) 
+  [ステップ 3: コードを記述する](#get-started-code) 
+  [ステップ 4: アプリケーションを構築して実行する](#get-started-run) 

## ステップ 1: このチュートリアルのために設定する
<a name="get-started-setup"></a>

このチュートリアルを開始する前に、DynamoDB にアクセスできる [IAM Identity Center アクセス許可セット](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)と、IAM Identity Center のシングルサインオン設定で構成された Kotlin 開発環境が必要です AWS。

このチュートリアルの基本設定を取得するには、このガイド[基本的なセットアップ](setup-basic-onetime-setup.md)の「」の手順に従います。

Kotlin SDK の[シングルサインオンアクセス](setup-basic-onetime-setup.md#setup-sso-access)を使用して開発環境を設定し、[アクティブな AWS アクセスポータルセッション](setup-basic-onetime-setup.md#setup-login-sso)を取得したら、ステップ 2 に進みます。

## ステップ 2: プロジェクトを作成する
<a name="get-started-projectsetup"></a>

このチュートリアルのプロジェクトを作成するには、まず Gradle を使用して Kotlin プロジェクトの基本的なファイルを作成します。次に、 に必要な設定、依存関係、コードでファイルを更新します AWS SDK for Kotlin。

 **Gradle を使用して新しいプロジェクトを作成するには** 

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

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

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

1. 次のコマンドを使用して、新しい 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}} を[最新バージョン](https://github.com/awslabs/aws-sdk-kotlin/releases/latest)の SDK for Kotlin に置き換えます。

  ```
  dependencyResolutionManagement {
      repositories {
          mavenCentral()
      }
  
      versionCatalogs {
          create("awssdk") {
              from("aws.sdk.kotlin:version-catalog:[https://github.com/awslabs/aws-sdk-kotlin/releases/latest](https://github.com/awslabs/aws-sdk-kotlin/releases/latest)")
          }
      }
  }
  
  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: コードを記述する
<a name="get-started-code"></a>

プロジェクトを作成して設定したら、次のサンプルコードを使用する`App`ようにプロジェクトのデフォルトクラスを編集します。

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

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

   ```
   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: アプリケーションをビルドして実行する
<a name="get-started-run"></a>

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

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

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

   ```
   gradle run
   ```

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

アプリケーションは [createBucket](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/create-bucket.html) API オペレーションを呼び出して新しい S3 バケットを作成し、[putObject](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/put-object.html) を呼び出して新しいオブジェクトを新しい S3 バケットに配置します。

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

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

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

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

1. [Amazon S3 コンソール](https://console.aws.amazon.com/s3)にサインインして、新しい S3 バケットの新しいオブジェクトを表示します。

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

### Success
<a name="get-started-success"></a>

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

### クリーンアップ
<a name="cleanup"></a>

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

リソースをクリーンアップするには、次の手順に従います。
+ `cleanUp()` 関数への呼び出しをコメントアウトした場合は、Amazon S3 コンソールを使用して S3 バケットを削除します。 [Amazon S3 ](https://console.aws.amazon.com/s3)

## 次の手順
<a name="get-started-next"></a>

これで基本を理解したので、次の事項を学習する準備が整いました。
+  [SDK for Kotlin を使用するための追加のセットアップ手順](setup.md) 
+  [SDK for Kotlin の設定](configuration.md) 
+  [SDK for Kotlin の使用](using.md) 
+  [SDK for Kotlin のセキュリティ](security.md) 