Empiece a utilizar AWS SDK para Go - AWS SDK para Go v2

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

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 en la documentación de Go.

Obtención de una cuenta de Amazon

Para poder utilizar AWS SDK para Go v2, antes debe tener una cuenta de Amazon. Consulte Creación de una cuenta de AWS para obtener más información.

Instalación de AWS SDK para Go v2

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í 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

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. 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 de la Guía del usuario de IAM.

Para obtener su ID de clave de acceso y clave de acceso secreta

  1. Abra la consola de IAM.

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

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

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

  5. 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

  6. 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.

Invocación de una operación

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) } }