Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Introducción a el SDK para Kotlin
AWS SDK para Kotlin Proporciona Kotlin APIs para cada uno Servicio de AWS. Con el SDK, le resultará fácil crear aplicaciones de Kotlin que funcionen con Amazon S3, Amazon EC2, Amazon DynamoDB, y otros.
En este tutorial se muestra cómo utilizar Gradle para definir dependencias para. AWS SDK para Kotlin A continuación, se crea un código que escriba datos en una tabla de DynamoDB. Si bien es posible que desee utilizar las funciones de un IDE, todo lo que necesita para este tutorial es una ventana de terminal y un editor de texto.
Para completar el tutorial, siga estos pasos:
Paso 1: Configuración para este tutorial
Antes de comenzar este tutorial, necesita un conjunto de permisos del Centro de identidad de IAM que pueda acceder a DynamoDB y necesita un entorno de desarrollo de Kotlin configurado con la configuración de inicio de sesión único de IAM Identity Center al que acceder. AWS
Siga las instrucciones de esta guía para obtener Configuración básica la configuración básica de este tutorial.
Cuando haya configurado su entorno de desarrollo con acceso de inicio de sesión único para el SDK de Kotlin y tenga una sesión activa en el portal de AWS acceso a, continúe con el paso 2.
Paso 2: Crear el proyecto
Para crear el proyecto de este tutorial, primero utilice Gradle para crear los archivos básicos de un proyecto de Kotlin. Luego, actualiza los archivos con la configuración, las dependencias y el código necesarios para el. AWS SDK para Kotlin
Para crear un proyecto nuevo con Gradle
nota
En este tutorial, se usa la versión 8.11.1 de Gradle con el gradle init
comando, que ofrece cinco instrucciones en el paso 3 que se muestra a continuación. Si utilizas una versión diferente de Gradle, es posible que las instrucciones difieran, al igual que las versiones preconfiguradas de los artefactos.
-
Crea un nuevo directorio llamado
getstarted
en la ubicación que elijas, como el escritorio o la carpeta principal. -
Abra una ventana de terminal o símbolo del sistema y desplácese hasta el
getstarted
directorio que creó. -
Para crear un proyecto de Gradle y una clase básica de Kotlin, utilice el comando siguiente.
gradle init --type kotlin-application --dsl kotlin
-
Cuando se te pida el objetivo
Java version
, presionaEnter
(el valor predeterminado es).21
-
Cuando se le pida
Project name
, presioneEnter
(el valor predeterminado es el nombre del directorio,getstarted
en este tutorial). -
Cuando se le pida
application structure
, presioneEnter
(el valor predeterminado es).Single application project
-
Cuando se le solicite
Select test framework
, pulseEnter
(por defecto es).kotlin.test
Cuando se le pida
Generate build using new APIs and behavior
, pulseEnter
(por defecto es).no
-
Para configurar su proyecto con dependencias para Amazon S3 AWS SDK para Kotlin y Amazon
-
En el
getstarted
directorio que creó en el procedimiento anterior, sustituya el contenido delsettings.gradle.kts
archivo por el siguiente contenido yX.Y.Z
sustitúyalo por la última versióndel SDK para Kotlin: 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") -
Navega hasta el
gradle
directorio que se encuentra dentro delgetstarted
directorio. Sustituya los contenidos del archivo de catálogo de versiones cuyo nombrelibs.versions.toml
fuese por lo siguiente:[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" }
-
Vaya al directorio
app
y abra el archivobuild.gradle.kts
. Sustituya el contenido por el siguiente código y, a continuación, guarde los cambios.plugins { alias(libs.plugins.kotlin.jvm) application } dependencies { implementation(awssdk.services.s3) // Add dependency on the AWS SDK para 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() }
La
dependencies
sección contiene unaimplementation
entrada para el módulo Amazon S3 del AWS SDK para Kotlin. El compilador de Gradle está configurado para usar Java 2.1 en lajava
sección.
Paso 3: Escribir el código
Una vez creado y configurado el proyecto, edita la clase predeterminada del proyecto App
para usar el siguiente código de ejemplo.
-
En la carpeta del proyecto
app
, navegue hasta el directoriosrc/main/kotlin/org/example
. Abra el archivoApp.kt
. -
Sustituya el contenido por el siguiente código y guarde el archivo.
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!") }
Paso 4: Compilar y ejecutar la aplicación
Una vez creado el proyecto y que contenga la clase de ejemplo, compile y ejecute la aplicación.
-
Abra una ventana de terminal o símbolo del sistema y desplácese hasta el directorio del proyecto
getstarted
. -
Para compilar y ejecutar la aplicación, utilice el comando siguiente:
gradle run
nota
Si obtiene unaIdentityProviderException
, es posible que no tenga una sesión de inicio de sesión único activa. Ejecute el comando aws sso login
AWS CLI para iniciar una nueva sesión.
La aplicación llama a la operación de la API CreateBucket
Al final de la cleanUp()
función, la aplicación elimina el objeto y, a continuación, elimina el depósito de S3.
Para ver los resultados en la consola de Amazon S3
-
Dentro
App.kt
, comente la líneacleanUp(s3)
de larunBlocking
sección y guarde el archivo. -
Reconstruya el proyecto y coloque un objeto nuevo en un nuevo depósito de S3 ejecutando
gradle run
. -
Inicie sesión en la consola de Amazon S3
para ver el nuevo objeto en el nuevo bucket de S3.
Después de ver el objeto, elimine el bucket de S3.
Success
Si su proyecto de Gradle se creó y ejecutó sin errores, enhorabuena. Ha creado correctamente su primera aplicación de Kotlin mediante. AWS SDK para Kotlin
Limpieza
Cuando haya terminado de desarrollar su nueva aplicación, elimine todos AWS los recursos que haya creado durante este tutorial para evitar incurrir en cargos. Es posible que también desee eliminar o archivar la carpeta del proyecto (get-started
) que creó en el paso 2.
Siga estos pasos para limpiar los recursos:
-
Si ha comentado la llamada a la
cleanUp()
función, elimine el bucket de S3 mediante la consola de Amazon S3.
Pasos a seguir a continuación
Ahora que ya ha aprendido lo básico, puede aprender lo siguiente: