

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.

# Service de métadonnées d' EC2 instance Amazon
<a name="sdk-utilities-ec2-imds"></a>

 Vous pouvez utiliser le AWS SDK pour Go pour accéder au [service de métadonnées d' EC2instance Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). Le package [feature/ec2/imds](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds)Go fournit un type de [client](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds#Client) qui peut être utilisé pour accéder au service de métadonnées d' EC2 instance Amazon. Les opérations `Client` et les opérations associées peuvent être utilisées de la même manière que les autres clients de AWS service fournis par le SDK. Pour en savoir plus sur la configuration du SDK et l'utilisation des clients de service, consultez [Configuration du kit SDK](configure-gosdk.md) et[Utiliser la AWS SDK pour Go v2 avec les AWS services](use-services.md). 

 Le client peut vous aider à récupérer facilement des informations sur les instances sur lesquelles vos applications s'exécutent, telles que sa AWS région ou son adresse IP locale. En général, vous devez créer et envoyer des requêtes HTTP pour récupérer les métadonnées de l'instance. Créez plutôt un `imds.Client` pour accéder au service de métadonnées d' EC2 instance Amazon à l'aide d'un client programmatique comme les autres AWS services. 

 Par exemple, pour créer un client : 

```
import "context"
import "github.com/aws/aws-sdk-go-v2/config"
import "github.com/aws/aws-sdk-go-v2/feature/ec2/imds"

// ...

cfg, err := config.LoadDefaultConfig(context.TODO())
if err != nil {
    log.Printf("error: %v", err)
    return
}

client := imds.NewFromConfig(cfg)
```

 Utilisez ensuite le client de service pour récupérer des informations à partir d'une catégorie de métadonnées telle que `local-ipv4` (l'adresse IP privée de l'instance). 

```
localIp, err := client.GetMetadata(context.TODO(), &imds.GetMetadataInput{
    Path: "local-ipv4",
})
if err != nil {
    log.Printf("Unable to retrieve the private IP address from the EC2 instance: %s\n", err)
    return
}
content, _ := io.ReadAll(localIp.Content)
fmt.Printf("local-ip: %v\n", string(content))
```

 Pour obtenir la liste de toutes les catégories de métadonnées, consultez la section [Catégories de métadonnées d'instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories) dans le guide de EC2 l'utilisateur Amazon. 