本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 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 版本,提示和預先填入的成品版本可能會有所不同。
-
在您選擇的
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
)。
-
使用 和 適用於 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
以使用下列範例程式碼。
-
在您的專案資料夾中
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
在結束時的 cleanUp()
函數中,應用程式會刪除物件,然後刪除 S3 儲存貯體。
在 Amazon S3 主控台中查看結果
-
在 中
App.kt
,註解runBlocking
區段cleanUp(s3)
中的行,並儲存檔案。 -
執行 來重建專案,並將新物件放入新的 S3 儲存貯體
gradle run
。 -
登入 Amazon S3 主控台
,以檢視新 S3 儲存貯體中的新物件。
檢視物件之後,請刪除 S3 儲存貯體。
成功
如果您的 Gradle 專案建置並執行時沒有錯誤,恭喜您。您已成功使用 建置第一個 Kotlin 應用程式 適用於 Kotlin 的 AWS SDK。
清除
當您完成開發新的應用程式時,請刪除您在本教學課程中建立的任何 AWS 資源,以避免產生任何費用。您也可以刪除或封存您在步驟 2 中建立的專案資料夾 (get-started
)。
請依照下列步驟清除資源:
-
如果您已對
cleanUp()
函數的呼叫進行註解,請使用 Amazon S3 主控台刪除 S3 儲存貯體。 Amazon S3
後續步驟
既然您已完成基本知識,您可以了解以下內容: