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.
Comience con el SDK para Kotlin
AWS SDK para Kotlin Proporciona Kotlin APIs para cada uno Servicio de AWS. Con el SDK, puede crear aplicaciones de Kotlin que funcionen con Amazon S3, Amazon EC2, Amazon DynamoDB y más.
En este tutorial, se muestra cómo usar Gradle para definir las dependencias de. AWS SDK para Kotlin A continuación, se crea un código que escribe los 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 IAM Identity Center 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.
Una vez que hayas configurado tu entorno de desarrollo con acceso de inicio de sesión único para el SDK de Kotlin y tengas una sesión activa en el portal de AWS acceso, continúa con el paso 2.
Paso 2: Crear el proyecto
Para crear el proyecto de este tutorial, primero usa 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. -
Abre una ventana de terminal o línea de comandos y navega hasta el
getstarted
directorio que has creado. -
Usa el siguiente comando para crear un nuevo proyecto de Gradle y una clase básica de Kotlin.
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 S3
-
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 el contenido del archivo de catálogo de versiones denominadolibs.versions.toml
por el siguiente contenido:[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 su 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
. -
Use el siguiente comando para compilar y ejecutar la aplicación:
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 tu proyecto de Gradle se creó y se ejecutó sin errores, enhorabuena. Creaste correctamente tu primera aplicación de Kotlin con. 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: