

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
<a name="get-started"></a>

 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 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](#get-started-setup) 
+  [Paso 2: Crear el proyecto](#get-started-projectsetup) 
+  [Paso 3: Escribir el código](#get-started-code) 
+  [Paso 4: Compilar y ejecutar la aplicación](#get-started-run) 

## Paso 1: Configuración para este tutorial
<a name="get-started-setup"></a>

Antes de comenzar este tutorial, necesita un [conjunto de permisos del IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) 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](setup-basic-onetime-setup.md) 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](setup-basic-onetime-setup.md#setup-sso-access) [el portal de AWS acceso](setup-basic-onetime-setup.md#setup-login-sso), continúa con el paso 2.

## Paso 2: Crear el proyecto
<a name="get-started-projectsetup"></a>

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.

1. Crea un nuevo directorio llamado `getstarted` en la ubicación que elijas, como el escritorio o la carpeta principal.

1. Abre una ventana de terminal o línea de comandos y navega hasta el `getstarted` directorio que has creado.

1. 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`, presiona `Enter` (el valor predeterminado es). `21`
   + Cuando se le pida`Project name`, presione `Enter` (el valor predeterminado es el nombre del directorio, `getstarted` en este tutorial).
   + Cuando se le pida`application structure`, presione `Enter` (el valor predeterminado es). `Single application project`
   + Cuando se le solicite`Select test framework`, pulse `Enter` (por defecto es). `kotlin.test`
   + Cuando se le pida`Generate build using new APIs and behavior`, pulse `Enter` (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 del `settings.gradle.kts` archivo por el siguiente contenido y *X.Y.Z* sustitúyalo por la [última versión](https://github.com/awslabs/aws-sdk-kotlin/releases/latest) del SDK para Kotlin:

  ```
  dependencyResolutionManagement {
      repositories {
          mavenCentral()
      }
  
      versionCatalogs {
          create("awssdk") {
              from("aws.sdk.kotlin:version-catalog:[https://github.com/awslabs/aws-sdk-kotlin/releases/latest](https://github.com/awslabs/aws-sdk-kotlin/releases/latest)")
          }
      }
  }
  
  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 del `getstarted` directorio. Sustituya el contenido del archivo de catálogo de versiones denominado `libs.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 archivo `build.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 una `implementation` entrada para el módulo Amazon S3 del AWS SDK para Kotlin. El compilador de Gradle está configurado para usar Java 2.1 en la `java` sección.

## Paso 3: Escribir el código
<a name="get-started-code"></a>

Una vez creado y configurado el proyecto, edita la clase predeterminada del proyecto `App` para usar el siguiente código de ejemplo.

1. En la carpeta del proyecto`app`, navegue hasta el directorio`src/main/kotlin/org/example`. Abra el archivo `App.kt`.

1. 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
<a name="get-started-run"></a>

Una vez creado el proyecto y que contenga la clase de ejemplo, compile y ejecute la aplicación.

1. Abra una ventana de terminal o símbolo del sistema y desplácese hasta el directorio del proyecto `getstarted`.

1. Use el siguiente comando para compilar y ejecutar la aplicación:

   ```
   gradle run
   ```

**nota**  
Si obtiene una`IdentityProviderException`, 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](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/create-bucket.html) para crear un nuevo depósito de S3 y, a continuación, llama a [PutObject](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3/put-object.html) para colocar un objeto nuevo en el nuevo depósito de S3.

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 Amazon S3** 

1. Dentro`App.kt`, comente la línea `cleanUp(s3)` de la `runBlocking` sección y guarde el archivo.

1. Reconstruya el proyecto y coloque un objeto nuevo en un nuevo depósito de S3 ejecutando`gradle run`.

1. Inicie sesión en la [consola de Amazon S3](https://console.aws.amazon.com/s3) para ver el nuevo objeto en el nuevo bucket de S3.

Después de ver el objeto, elimine el bucket de S3.

### Success
<a name="get-started-success"></a>

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
<a name="cleanup"></a>

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](https://console.aws.amazon.com/s3).

## Siguientes pasos
<a name="get-started-next"></a>

Ahora que ya ha aprendido lo básico, puede aprender lo siguiente:
+  [Pasos de configuración adicionales para trabajar con el SDK de Kotlin](setup.md) 
+  [Configuración del SDK para Kotlin](configuration.md) 
+  [Uso del SDK para Kotlin](using.md) 
+  [Seguridad del SDK de Kotlin](security.md) 