

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.

# Crear una aplicación sencilla con el AWS SDK para Rust
<a name="hello"></a>

Puedes empezar rápidamente con el AWS SDK para Rust siguiendo este tutorial para crear una aplicación sencilla que llame a unServicio de AWS.

## Requisitos previos
<a name="prerequisites"></a>

Para poder utilizar elAWS SDK para Rust, debes tener instalados Rust y Cargo.
+ Instale la cadena de herramientas de Rust: [https://www.rust-lang. org/tools/install](https://www.rust-lang.org/tools/install)
+ Instale la [herramienta `cargo-component`](https://github.com/bytecodealliance/cargo-component) ejecutando el comando: `cargo install cargo-component`

### Herramientas recomendadas:
<a name="recommended-tools"></a>

Las siguientes herramientas opcionales se pueden instalar en el IDE para facilitar la finalización del código y la solución de problemas.
+ La extensión rust-analyzer, consulte [Rust en Visual Studio Code](https://code.visualstudio.com/docs/languages/rust).
+ Amazon Q Developer, consulte [Instalación de la extensión o el complemento de Amazon Q Developer en el IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE-setup.html).

## Creación de la primera aplicación de SDK
<a name="hello-world"></a>

Este procedimiento crea la primera aplicación de SDK para Rust que enumera las tablas de DynamoDB.

1. En una ventana de terminal o consola, navegue hasta la ubicación del ordenador donde desee crear la aplicación.

1. Ejecute el siguiente comando para crear un directorio `hello_world` y rellenarlo con un proyecto Rust básico:

   ```
   $ cargo new hello_world --bin
   ```

1. Vaya al directorio `hello_world` y utilice el siguiente comando para agregar las dependencias necesarias a la aplicación:

   ```
   $ cargo add aws-config aws-sdk-dynamodb tokio --features tokio/full,aws-config/credentials-login
   ```

   Estas dependencias incluyen las cajas del SDK que proporcionan características de configuración y compatibilidad para DynamoDB, incluida la [caja`tokio`](https://crates.io/crates/tokio), que se utiliza para implementar operaciones de E/S asíncronas.
**nota**  
A menos que utilice una característica como `tokio/full`, Toki, no proporcionará un tiempo de ejecución asíncrono. El SDK para Rust requiere un tiempo de ejecución asíncrono.  
La `aws-config/credentials-login` función admite las credenciales de inicio de sesión de AWS Management Console. Consulte [Autenticación y acceso en la AWS SDKs Guía de referencia de herramientas](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) para obtener más información.

1. Actualice `main.rs` en el directorio `src` para que contenga el siguiente código.

   ```
   use aws_config::meta::region::RegionProviderChain;
   use aws_config::BehaviorVersion;
   use aws_sdk_dynamodb::{Client, Error};
   
   /// Lists your DynamoDB tables in the default Region or us-east-1 if a default Region isn't set.
   #[tokio::main]
   async fn main() -> Result<(), Error> {
       let region_provider = RegionProviderChain::default_provider().or_else("us-east-1");
       let config = aws_config::defaults(BehaviorVersion::latest())
           .region(region_provider)
           .load()
           .await;
       let client = Client::new(&config);
   
       let resp = client.list_tables().send().await?;
   
       println!("Tables:");
   
       let names = resp.table_names();
   
       for name in names {
           println!("  {}", name);
       }
   
       println!();
       println!("Found {} tables", names.len());
   
       Ok(())
   }
   ```
**nota**  
Este ejemplo muestra solo la primera página de resultados. Consulte [Uso de resultados paginados en AWS SDK para Rust](paginating.md) para obtener información sobre cómo gestionar varias páginas de resultados. 

1. Ejecute el programa:

   ```
   $ cargo run
   ```

   Debe aparecer una lista con los nombres de las tablas.