

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai SDK untuk Kotlin
<a name="get-started"></a>

 AWS SDK untuk Kotlin Menyediakan Kotlin APIs untuk masing-masing Layanan AWS. Dengan menggunakan SDK, Anda dapat membuat aplikasi Kotlin yang berfungsi dengan Amazon S3, Amazon EC2, Amazon DynamoDB, dan lainnya.

Tutorial ini menunjukkan cara menggunakan Gradle untuk mendefinisikan dependensi untuk. AWS SDK untuk Kotlin Kemudian, Anda membuat kode yang menulis data ke tabel DynamoDB. Meskipun Anda mungkin ingin menggunakan fitur IDE, yang Anda butuhkan untuk tutorial ini adalah jendela terminal dan editor teks.

Ikuti langkah-langkah berikut untuk menyelesaikan tutorial ini:
+  [Langkah 1: Siapkan untuk tutorial ini](#get-started-setup) 
+  [Langkah 2: Buat proyek](#get-started-projectsetup) 
+  [Langkah 3: Tulis kodenya](#get-started-code) 
+  [Langkah 4: Bangun dan jalankan aplikasi](#get-started-run) 

## Langkah 1: Siapkan untuk tutorial ini
<a name="get-started-setup"></a>

Sebelum memulai tutorial ini, Anda memerlukan [set izin IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) yang dapat mengakses DynamoDB dan Anda memerlukan lingkungan pengembangan Kotlin yang dikonfigurasi dengan pengaturan masuk tunggal IAM Identity Center untuk mengaksesnya. AWS

Ikuti petunjuk dalam [Pengaturan dasar](setup-basic-onetime-setup.md) panduan ini untuk mendapatkan pengaturan dasar untuk tutorial ini.

Setelah Anda mengonfigurasi lingkungan pengembangan Anda dengan [akses masuk tunggal](setup-basic-onetime-setup.md#setup-sso-access) untuk Kotlin SDK dan Anda memiliki [sesi portal AWS akses aktif](setup-basic-onetime-setup.md#setup-login-sso), lanjutkan dengan Langkah 2.

## Langkah 2: Buat proyek
<a name="get-started-projectsetup"></a>

Untuk membuat proyek untuk tutorial ini, pertama-tama gunakan Gradle untuk membuat file dasar untuk proyek Kotlin. Kemudian, perbarui file dengan pengaturan, dependensi, dan kode yang diperlukan untuk file. AWS SDK untuk Kotlin

 **Untuk membuat proyek baru menggunakan Gradle** 

**catatan**  
Tutorial ini menggunakan Gradle versi 8.11.1 dengan `gradle init` perintah, yang menawarkan lima petunjuk pada langkah 3 di bawah ini. Jika Anda menggunakan versi Gradle yang berbeda, petunjuknya mungkin berbeda dan juga versi artefak yang telah diisi sebelumnya.

1. Buat direktori baru yang disebut `getstarted` di lokasi pilihan Anda, seperti desktop atau folder rumah Anda.

1. Buka terminal atau jendela prompt perintah dan arahkan ke `getstarted` direktori yang Anda buat.

1. Gunakan perintah berikut untuk membuat proyek Gradle baru dan class Kotlin dasar.

   ```
   gradle init --type kotlin-application --dsl kotlin
   ```
   + Saat diminta untuk target`Java version`, tekan `Enter` (default ke). `21`
   + Ketika diminta dengan`Project name`, tekan `Enter` (default ke nama direktori, `getstarted` dalam tutorial ini).
   + Saat diminta`application structure`, tekan `Enter` (default ke). `Single application project`
   + Saat diminta`Select test framework`, tekan `Enter` (default ke). `kotlin.test`
   + Saat diminta`Generate build using new APIs and behavior`, tekan `Enter` (default ke). `no`

 **Untuk mengonfigurasi proyek Anda dengan dependensi untuk AWS SDK untuk Kotlin dan Amazon S3** 
+ Di `getstarted` direktori yang Anda buat pada prosedur sebelumnya, ganti isi `settings.gradle.kts` file dengan konten berikut, ganti {{X.Y.Z}} dengan SDK [versi terbaru](https://github.com/awslabs/aws-sdk-kotlin/releases/latest) untuk 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")
  ```
+ Arahkan ke `gradle` direktori di dalam `getstarted` direktori. Ganti isi file katalog versi bernama `libs.versions.toml` dengan konten berikut:

  ```
  [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" }
  ```
+ Arahkan ke `app` direktori dan buka `build.gradle.kts` file. Ganti isinya dengan kode berikut, lalu simpan perubahan Anda.

  ```
  plugins {
      alias(libs.plugins.kotlin.jvm)
      application
  }
  
  
  dependencies {
      implementation(awssdk.services.s3) // Add dependency on the AWS SDK untuk 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`Bagian ini berisi `implementation` entri untuk modul Amazon S3 dari. AWS SDK untuk Kotlin Kompiler Gradle dikonfigurasi untuk menggunakan Java 21 di bagian tersebut. `java`

## Langkah 3: Tulis kodenya
<a name="get-started-code"></a>

Setelah proyek dibuat dan dikonfigurasi, edit kelas default proyek `App` untuk menggunakan kode contoh berikut.

1. Di folder proyek Anda`app`, navigasikan ke direktori`src/main/kotlin/org/example`. Buka file `App.kt`.

1. Ganti isinya dengan kode berikut dan simpan file.

   ```
   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!")
   }
   ```

## Langkah 4: Bangun dan jalankan aplikasi
<a name="get-started-run"></a>

Setelah proyek dibuat dan berisi kelas contoh, bangun dan jalankan aplikasi.

1. Buka terminal atau jendela prompt perintah dan arahkan ke direktori proyek Anda`getstarted`.

1. Gunakan perintah berikut untuk membangun dan menjalankan aplikasi Anda:

   ```
   gradle run
   ```

**catatan**  
Jika Anda mendapatkan`IdentityProviderException`, Anda mungkin tidak memiliki sesi masuk tunggal yang aktif. Jalankan perintah `aws sso login` AWS CLI untuk memulai sesi baru.

Aplikasi memanggil operasi [CreateBucket](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/create-bucket.html) API untuk membuat bucket S3 baru dan kemudian memanggil [putObject](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/put-object.html) untuk memasukkan objek baru ke dalam bucket S3 baru.

Dalam `cleanUp()` fungsi di akhir, aplikasi menghapus objek dan kemudian menghapus bucket S3.

 **Untuk melihat hasilnya di konsol Amazon S3** 

1. Masuk`App.kt`, komentari baris `cleanUp(s3)` di `runBlocking` bagian dan simpan file.

1. Bangun kembali proyek dan masukkan objek baru ke dalam bucket S3 baru dengan menjalankannya. `gradle run`

1. Masuk ke [konsol Amazon S3](https://console.aws.amazon.com/s3) untuk melihat objek baru di bucket S3 baru.

Setelah Anda melihat objek, hapus bucket S3.

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

Jika proyek Gradle Anda dibangun dan dijalankan tanpa kesalahan, maka selamat. Anda telah berhasil membangun aplikasi Kotlin pertama Anda menggunakan. AWS SDK untuk Kotlin

### Pembersihan
<a name="cleanup"></a>

Setelah Anda selesai mengembangkan aplikasi baru Anda, hapus AWS sumber daya apa pun yang Anda buat selama tutorial ini untuk menghindari biaya apa pun. Anda mungkin juga ingin menghapus atau mengarsipkan folder proyek (`get-started`) yang Anda buat di Langkah 2.

Ikuti langkah-langkah ini untuk membersihkan sumber daya:
+ Jika Anda mengomentari panggilan ke `cleanUp()` fungsi tersebut, hapus bucket S3 dengan menggunakan konsol [Amazon S3](https://console.aws.amazon.com/s3).

## Langkah selanjutnya
<a name="get-started-next"></a>

Sekarang setelah Anda memiliki dasar-dasarnya, Anda dapat mempelajari hal-hal berikut:
+  [Langkah-langkah penyiapan tambahan untuk bekerja dengan SDK untuk Kotlin](setup.md) 
+  [Konfigurasi SDK untuk Kotlin](configuration.md) 
+  [Menggunakan SDK untuk Kotlin](using.md) 
+  [Keamanan untuk SDK untuk Kotlin](security.md) 