기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SDK for Kotlin 시작하기
는 각각에 대한 Kotlin APIs AWS SDK for Kotlin 제공합니다 AWS 서비스. SDK를 사용하여 Amazon S3, Amazon EC2, Amazon DynamoDB 등과 함께 작동하는 Kotlin 애플리케이션을 구축할 수 있습니다.
이 자습서에서는 Gradle을 사용하여에 대한 종속성을 정의하는 방법을 보여줍니다 AWS SDK for Kotlin. 그런 다음 DynamoDB 테이블에 데이터를 쓰는 코드를 생성합니다. IDE의 기능을 사용할 수 있지만이 자습서에 필요한 것은 터미널 창과 텍스트 편집기뿐입니다.
자습서를 완료하려면 이 단계를 따릅니다.
1단계: 튜토리얼 설정
이 자습서를 시작하기 전에 DynamoDB에 액세스할 수 있는 IAM Identity Center 권한 세트가 필요하며에 액세스하려면 IAM Identity Center Single Sign-On 설정으로 구성된 Kotlin 개발 환경이 필요합니다 AWS.
이 가이드기본 설정의에 있는 지침에 따라이 자습서의 기본 설정을 가져옵니다.
Kotlin SDK에 대한 Single Sign-On 액세스로 개발 환경을 구성하고 활성 AWS 액세스 포털 세션이 있으면 2단계를 진행합니다.
2단계: 프로젝트 생성
이 자습서를 위한 프로젝트를 생성하려면 먼저 Gradle을 사용하여 Kotlin 프로젝트의 기본 파일을 생성합니다. 그런 다음에 필요한 설정, 종속성 및 코드로 파일을 업데이트합니다 AWS SDK for Kotlin.
Gradle을 사용하여 새 프로젝트를 생성하려면
참고
이 자습서에서는 아래 3단계에서 5개의 프롬프트를 제공하는 gradle init
명령과 함께 Gradle 버전 8.11.1을 사용합니다. 다른 버전의 Gradle을 사용하는 경우 프롬프트는 사전 채워진 아티팩트 버전뿐만 아니라 및 도 다를 수 있습니다.
-
데스크톱 또는 홈 폴더와 같이 원하는
getstarted
위치에 라는 새 디렉터리를 생성합니다. -
터미널 또는 명령 프롬프트 창을 열고 생성한
getstarted
디렉터리로 이동합니다. -
다음 명령을 사용하여 새 Gradle 프로젝트와 기본 Kotlin 클래스를 생성합니다.
gradle init --type kotlin-application --dsl kotlin
-
대상에 대한 메시지가 표시되면
Enter
(기본값은 )를Java version
누릅니다21
. -
와 함께 메시지가 표시되면
Enter
(이 자습서getstarted
에서는 기본적으로 디렉터리 이름)을Project name
누릅니다. -
를 입력하라는 메시지가 표시되면
Enter
(기본값은 )를application structure
누릅니다Single application project
. -
와 함께 메시지가 표시되면
Enter
(기본값은 )를Select test framework
누릅니다kotlin.test
. 와 함께 메시지가 표시되면
Enter
(기본값은 )를Generate build using new APIs and behavior
누릅니다no
.
-
및 Amazon S3에 AWS SDK for Kotlin 대한 종속성을 사용하여 프로젝트를 구성하려면
-
이전 절차에서 생성한
getstarted
디렉터리에서settings.gradle.kts
파일의 내용을 다음 콘텐츠로 바꾸고X.Y.Z를 최신 버전의 SDK for Kotlin
으로 바꿉니다. https://github.com/awslabs/aws-sdk-kotlin/releases/latestdependencyResolutionManagement { 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
사용하도록 프로젝트의 기본 클래스를 편집합니다.
-
프로젝트 폴더에서 디렉터리 로
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
참고
를 받으면 활성 Single Sign-On 세션이 없을 IdentityProviderException
수 있습니다. aws sso login
AWS CLI 명령을 실행하여 새 세션을 시작합니다.
애플리케이션은 createBucket
끝에 있는 cleanUp()
함수에서 애플리케이션은 객체를 삭제한 다음 S3 버킷을 삭제합니다.
Amazon S3 콘솔에서 결과를 보려면
-
에서
runBlocking
섹션의 줄cleanUp(s3)
에App.kt
주석을 추가하고 파일을 저장합니다. -
를 실행하여 프로젝트를 다시 빌드하고 새 객체를 새 S3 버킷에 넣습니다
gradle run
. -
Amazon S3 콘솔
에 로그인하여 새 S3 버킷에서 새 객체를 봅니다.
객체를 확인한 후 S3 버킷을 삭제합니다.
Success
Gradle 프로젝트가 오류 없이 빌드되고 실행되면가 축하합니다. 를 사용하여 첫 번째 Kotlin 애플리케이션을 성공적으로 빌드했습니다 AWS SDK for Kotlin.
정리
새 애플리케이션 개발을 마치면 요금이 발생하지 않도록이 자습서 중에 생성한 모든 AWS 리소스를 삭제합니다. 2단계에서 생성한 프로젝트 폴더(get-started
)를 삭제하거나 아카이브할 수도 있습니다.
다음 단계에 따라 리소스를 정리합니다.
-
cleanUp()
함수에 대한 호출을 주석 처리한 경우 Amazon S3 콘솔을 사용하여 S3 버킷을 삭제합니다. Amazon S3
다음 단계
이제 기본 사항을 갖추었으므로, 다음 내용을 배울 수 있습니다.