

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.

# Empiece a utilizar AWS SDK para Go
<a name="getting-started"></a>

 AWS SDK para Go requiere una versión mínima de Go 1.23. Para ver su versión actual de Go, ejecute el siguiente comando: 

```
go version
```

 Para obtener información sobre cómo instalar o actualizar su versión de Go, consulte [Download and install](https://go.dev/doc/install) en la documentación de Go. 

## Obtención de una cuenta de Amazon
<a name="get-an-amazon-account"></a>

 Para poder utilizar AWS SDK para Go v2, antes debe tener una cuenta de Amazon. Consulte [Creación de una cuenta de AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html) para obtener más información. 

## Instalación de AWS SDK para Go v2
<a name="install-the-aws-sdk-for-go-v2"></a>

 AWS SDK para Go v2 usa los módulos de Go, una característica que se incorporó en Go 1.11. Inicialice el proyecto local mediante la ejecución del siguiente comando de Go: 

```
go mod init example
```

 Tras inicializar el proyecto del módulo de Go, podrá recuperar el SDK y sus dependencias necesarias mediante el comando `go get`. Estas dependencias se registrarán en el archivo `go.mod` que creó el comando anterior. 

 Los siguientes comandos muestran cómo recuperar el conjunto estándar de módulos del SDK para usarlos en la aplicación. 

```
go get github.com/aws/aws-sdk-go-v2
go get github.com/aws/aws-sdk-go-v2/config
```

 De este modo se recuperarán tanto el módulo del SDK principal como el módulo de configuración que se utiliza para cargar la configuración compartida de AWS. 

 A continuación, puede instalar uno o varios clientes de API de servicio de AWS necesarios para la aplicación. Todos los clientes de API se encuentran en la jerarquía de importación `github.com/aws/aws-sdk-go-v2/service`. [Aquí](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service) encontrará un conjunto completo de los clientes de API actualmente compatibles. Para instalar un cliente de servicio, ejecute el comando siguiente a fin de recuperar el módulo y registrar la dependencia en el archivo `go.mod`. En este ejemplo recuperamos el cliente de API de Amazon S3. 

```
go get github.com/aws/aws-sdk-go-v2/service/s3
```

## Obtener las claves de acceso de AWS
<a name="get-your-aws-access-keys"></a>

 Las claves de acceso constan de un ID de clave de acceso y una clave de acceso secreta, que se utilizan para firmar las solicitudes de programación que se realizan a AWS. Si no tiene claves de acceso, puede crearlas mediante la [Consola de administración de AWS](https://console.aws.amazon.com/console/home). Es recomendable que utilice las claves de acceso de IAM en lugar de las claves de acceso de la cuenta raíz de AWS. IAM le permite controlar de forma segura el acceso a los servicios de AWS y a los recursos de su cuenta de AWS. 

**nota**  
Para crear claves de acceso, debe tener permisos para realizar las acciones de IAM requeridas. Para obtener más información, consulte [Permisos obligatorios para obtener acceso a recursos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html) de la Guía del usuario de IAM. 

### Para obtener su ID de clave de acceso y clave de acceso secreta
<a name="to-get-your-access-key-id-and-secret-access-key"></a>

1.  Abra la [consola de IAM](https://console.aws.amazon.com/iam/home). 

1.  En el menú de navegación, elija **Users (Usuarios)**. 

1.  Seleccione su nombre de usuario de IAM (no la casilla de verificación). 

1.  Abra la pestaña **Security credentials (Credenciales de seguridad)** y, a continuación, seleccione **Create access key (Crear clave de acceso)**. 

1.  Para ver la nueva clave de acceso, elija **Show (Mostrar)**. Sus credenciales serán similares a las siguientes: 
   +  ID de clave de acceso: `AKIAIOSFODNN7EXAMPLE` 
   +  Clave de acceso secreta: `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` 

1.  Para descargar el par de claves, elija **Descargar archivo .csv**. Almacene las claves en un lugar seguro. 

**aviso**  
 Mantenga la confidencialidad de las claves para proteger su cuenta de AWS y no las comparta nunca con nadie ajeno a su organización. 

### Temas relacionados
<a name="related-topics"></a>
+  [¿Qué es IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) de la Guía del usuario de IAM. 
+  [Credenciales de seguridad de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) de la Referencia general de Amazon Web Services. 

## Invocación de una operación
<a name="invoke-an-operation"></a>

 Una vez que haya instalado el SDK, importará paquetes de AWS a sus aplicaciones Go para usar el SDK, como se muestra en el siguiente ejemplo, que importa las bibliotecas de AWS, Config y Amazon S3. Tras importar los paquetes del SDK, se carga la configuración compartida del SDK de AWS, se crea un cliente y se invoca una operación de la API. 

```
package main

import (
    "context"
    "log"
    "github.com/aws/aws-sdk-go-v2/aws"
    "github.com/aws/aws-sdk-go-v2/config"
    "github.com/aws/aws-sdk-go-v2/service/s3"
)

func main() {
    // Load the Shared AWS Configuration (~/.aws/config)
    cfg, err := config.LoadDefaultConfig(context.TODO())
    if err != nil {
        log.Fatal(err)
    }

    // Create an Amazon S3 service client
    client := s3.NewFromConfig(cfg)

    // Get the first page of results for ListObjectsV2 for a bucket
    output, err := client.ListObjectsV2(context.TODO(), &s3.ListObjectsV2Input{
        Bucket: aws.String("amzn-s3-demo-bucket"),
    })
    if err != nil {
        log.Fatal(err)
    }

    log.Println("first page results")
    for _, object := range output.Contents {
        log.Printf("key=%s size=%d", aws.ToString(object.Key), *object.Size)
    }
}
```