

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Conceitos básicos do AWS SDK para Go
<a name="getting-started"></a>

 O AWS SDK para Go requer uma versão mínima do Go 1.23. Veja a versão atual do Go executando este comando: 

```
go version
```

 Consulte informações sobre como instalar ou atualizar sua versão do Go em [Download and install](https://go.dev/doc/install) na documentação do Go. 

## Obter uma conta da Amazon
<a name="get-an-amazon-account"></a>

 Para poder utilizar o AWS SDK para Go v2, é necessário ter uma conta da Amazon. Consulte detalhes em [Criar uma conta da AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html). 

## Instalar o AWS SDK para Go v2
<a name="install-the-aws-sdk-for-go-v2"></a>

 O AWS SDK para Go v2 usa módulos Go, que foi um recurso introduzido no Go 1.11. Inicialize o projeto local executando o comando Go a seguir. 

```
go mod init example
```

 Depois de inicializar seu projeto do módulo Go, você poderá recuperar o SDK e suas dependências necessárias usando o comando `go get`. Essas dependências serão registradas no arquivo `go.mod` que foi criado pelo comando anterior. 

 Os comandos a seguir mostram como recuperar o conjunto padrão de módulos do SDK para usar na aplicação. 

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

 Isso recupera o módulo principal do SDK e o módulo de configuração que é usado para carregar a configuração compartilhada da AWS. 

 Depois, você pode instalar um ou mais clientes de API de serviço da AWS exigidos pela aplicação. Todos os clientes da API estão localizados na hierarquia de importação de `github.com/aws/aws-sdk-go-v2/service`. Um conjunto completo de clientes de API atualmente compatíveis pode ser encontrado [aqui](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service). Para instalar um cliente de serviço, execute o comando a seguir para recuperar o módulo e registrar a dependência no arquivo `go.mod`. Neste exemplo, recuperamos o cliente da API do Amazon S3. 

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

## Obter suas chaves de acesso da AWS
<a name="get-your-aws-access-keys"></a>

 As chaves de acesso consistem em um ID da chave de acesso e uma chave de acesso secreta, que são usados para assinar solicitações programáticas feitas por você à AWS. Se não tiver chaves de acesso, você poderá criá-las usando o [Console de Gerenciamento da AWS](https://console.aws.amazon.com/console/home). Recomendamos usar as chaves de acesso do IAM, em vez de usar as chaves de acesso da conta root da AWS. O IAM permite que você controle com segurança o acesso aos serviços e recursos da AWS em sua conta da AWS. 

**nota**  
Para criar chaves de acesso, você deve ter permissões para realizar as ações do IAM necessárias. Consulte mais informações em [Permissões necessárias para acessar recursos do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html) no Guia do usuário do IAM. 

### Como obter o ID da chave de acesso e a chave de acesso secreta.
<a name="to-get-your-access-key-id-and-secret-access-key"></a>

1.  Abra o [console do IAM](https://console.aws.amazon.com/iam/home). 

1.  No menu de navegação, selecione **Users (Usuários)**. 

1.  Selecione seu nome de usuário do IAM (não a caixa de seleção). 

1.  Abra a guia **Security credentials (Credenciais de segurança)** e, em seguida, selecione **Create access key (Criar chave de acesso)**. 

1.  Para ver a nova chave de acesso, escolha **Mostrar**. Suas credenciais são semelhantes ao seguinte: 
   +  ID de chave de acesso: `AKIAIOSFODNN7EXAMPLE` 
   +  Chave de acesso secreta: `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` 

1.  Para baixar o par de chaves, escolha **Baixar arquivo .csv**. Armazene as chaves em um lugar seguro. 

**Atenção**  
 Mantenha a confidencialidade das chaves para proteger a conta da AWS e nunca as compartilhe com ninguém de fora da organização. 

### Tópicos relacionados
<a name="related-topics"></a>
+  [O que é o IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) no Guia do usuário do IAM. 
+  [Credenciais de segurança da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) na Referência geral da Amazon Web Services. 

## Invocar uma operação
<a name="invoke-an-operation"></a>

 Depois de instalar o SDK, você importa pacotes da AWS nas aplicações Go para usar o SDK, conforme mostrado no exemplo a seguir, que importa as bibliotecas da AWS, do Config e do Amazon S3. Depois de importar os pacotes do SDK, a configuração compartilhada do AWS SDK é carregada, um cliente é construído e uma operação de API é invocada. 

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