適用於 Kotlin 的 SDK 入門 - 適用於 Kotlin 的 AWS SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

適用於 Kotlin 的 SDK 入門

為每個 適用於 Kotlin 的 AWS SDK 提供 Kotlin APIs AWS 服務。使用 SDK,您可以建置可搭配 Amazon S3、Amazon EC2、Amazon DynamoDB 等使用的 Kotlin 應用程式。

本教學課程說明如何使用 Gradle 來定義 的相依性 適用於 Kotlin 的 AWS SDK。然後,您可以建立程式碼,將資料寫入 DynamoDB 資料表。雖然您可能想要使用 IDE 的功能,但本教學課程只需要終端機視窗和文字編輯器。

請依照下列步驟完成本教學課程:

步驟 1:設定本教學課程

開始本教學課程之前,您需要可以存取 DynamoDB 的 IAM Identity Center 許可集,而且需要以 IAM Identity Center 單一登入設定設定的 Kotlin 開發環境才能存取 AWS。

請遵循基本設定本指南中的指示,以取得本教學課程的基本設定。

使用 Kotlin SDK 的單一登入存取設定開發環境,並且擁有作用中的 AWS 存取入口網站工作階段後,請繼續步驟 2。

步驟 2:建立專案

若要建立本教學課程的專案,請先使用 Gradle 為 Kotlin 專案建立基本檔案。然後,使用 的必要設定、相依性和程式碼來更新檔案 適用於 Kotlin 的 AWS SDK。

使用 Gradle 建立新專案

注意

本教學課程使用 Gradle 8.11.1 版搭配 gradle init命令,在下面的步驟 3 中提供五個提示。如果您使用不同的 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)。

使用 和 適用於 Kotlin 的 AWS SDK Amazon S3 的相依性來設定專案

  • 在您先前程序中建立的getstarted目錄中,將settings.gradle.kts檔案的內容取代為下列內容,將 X.Y.Z 取代為最新版本的適用於 Kotlin 的 SDK:

    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 適用於 Kotlin 的 AWS SDK'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項目 適用於 Kotlin 的 AWS SDK。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 login AWS 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 儲存貯體。

成功

如果您的 Gradle 專案建置並執行時沒有錯誤,恭喜您。您已成功使用 建置第一個 Kotlin 應用程式 適用於 Kotlin 的 AWS SDK。

清除

當您完成開發新的應用程式時,請刪除您在本教學課程中建立的任何 AWS 資源,以避免產生任何費用。您也可以刪除或封存您在步驟 2 中建立的專案資料夾 (get-started)。

請依照下列步驟清除資源:

  • 如果您已對 cleanUp()函數的呼叫進行註解,請使用 Amazon S3 主控台刪除 S3 儲存貯體。 Amazon S3

後續步驟

既然您已完成基本知識,您可以了解以下內容: