

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Commencez avec AWS SDK pour Go
<a name="getting-started"></a>

 AWS SDK pour Go Nécessite une version minimale de Go 1.23. Vous pouvez afficher votre version actuelle de Go en exécutant la commande suivante : 

```
go version
```

 Pour plus d'informations sur l'installation ou la mise à niveau de votre version de Go, consultez la section [Télécharger et installer](https://go.dev/doc/install) dans la documentation Go. 

## Créez un compte Amazon
<a name="get-an-amazon-account"></a>

 Avant de pouvoir utiliser la AWS SDK pour Go version 2, vous devez disposer d'un compte Amazon. Voir [Créer un AWS compte](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html) pour plus de détails. 

## Installez la AWS SDK pour Go v2
<a name="install-the-aws-sdk-for-go-v2"></a>

 La AWS SDK pour Go v2 utilise des modules Go, une fonctionnalité introduite dans Go 1.11. Initialisez votre projet local en exécutant la commande Go suivante. 

```
go mod init example
```

 Après avoir initialisé votre projet de module Go, vous pourrez récupérer le SDK et ses dépendances requises à l'aide de la `go get` commande. Ces dépendances seront enregistrées dans le `go.mod` fichier créé par la commande précédente. 

 Les commandes suivantes indiquent comment récupérer l'ensemble standard de modules SDK à utiliser dans votre application. 

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

 Cela permettra de récupérer le module SDK principal et le module de configuration utilisé pour charger la configuration AWS partagée. 

 Vous pouvez ensuite installer un ou plusieurs clients d'API de AWS service requis par votre application. Tous les clients d'API sont situés sous la hiérarchie `github.com/aws/aws-sdk-go-v2/service` d'importation. Un ensemble complet des clients d'API actuellement pris en charge est disponible [ici](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service). Pour installer un client de service, exécutez la commande suivante pour récupérer le module et enregistrer la dépendance dans votre `go.mod` fichier. Dans cet exemple, nous récupérons le client d'API Amazon S3. 

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

## Obtenez vos clés AWS d'accès
<a name="get-your-aws-access-keys"></a>

 Les clés d'accès se composent d'un ID de clé d'accès et d'une clé d'accès secrète, qui servent à signer des demandes par programme adressées à AWS. Si vous ne disposez pas de clés d'accès, vous pouvez les créer à l'aide de la [console AWS de gestion](https://console.aws.amazon.com/console/home). Nous vous recommandons d'utiliser des clés d'accès IAM plutôt que des clés d'accès au compte AWS root. IAM vous permet de contrôler en toute sécurité l'accès aux AWS services et aux ressources de votre AWS compte. 

**Note**  
Pour créer des clés d'accès, vous devez disposer des autorisations permettant d'effectuer les opérations IAM nécessaires. Pour plus d'informations, consultez la section [Autorisations requises pour accéder aux ressources IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html) dans le Guide de l'utilisateur IAM. 

### Pour obtenir votre identifiant de clé d'accès et votre clé d'accès secrète.
<a name="to-get-your-access-key-id-and-secret-access-key"></a>

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

1.  Dans le menu de navigation, choisissez **Utilisateurs**. 

1.  Choisissez votre nom d'utilisateur IAM (pas la case à cocher). 

1.  Ouvrez l'onglet **Informations d'identification de sécurité**, puis choisissez **Créer une clé d'accès**. 

1.  Pour afficher la nouvelle clé d'accès, choisissez **Afficher**. Vos informations d'identification ressemblent à ce qui suit : 
   +  ID de clé d'accès : `AKIAIOSFODNN7EXAMPLE` 
   +  Clé d'accès secrète : `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` 

1.  Pour télécharger la paire de clés, choisissez **Télécharger le fichier .csv**. Stockez les clés dans un emplacement sûr. 

**Avertissement**  
 Gardez les clés confidentielles pour protéger votre AWS compte et ne les partagez jamais avec des personnes extérieures à votre organisation. 

### Rubriques en relation
<a name="related-topics"></a>
+  [Qu'est-ce que l'IAM ?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) dans le guide de l'utilisateur IAM. 
+  [AWS Informations d'identification de sécurité](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) dans le manuel de référence général d'Amazon Web Services. 

## Invoquer une opération
<a name="invoke-an-operation"></a>

 Après avoir installé le SDK, vous importez des AWS packages dans vos applications Go pour utiliser le SDK, comme indiqué dans l'exemple suivant, qui importe les bibliothèques, AWS Config et Amazon S3. Après avoir importé les packages du SDK, la configuration partagée du AWS SDK est chargée, un client est créé et une opération d'API est invoquée. 

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