

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Servizio di metadati di Amazon EC2 Instance
<a name="sdk-utilities-ec2-imds"></a>

 Puoi utilizzare il AWS SDK per Go per accedere ad [Amazon EC2 Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). Il pacchetto [feature/ec2/imds](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds)Go fornisce un tipo di [client](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds#Client) che può essere utilizzato per accedere ad Amazon EC2 Instance Metadata Service. Le `Client` operazioni associate possono essere utilizzate in modo simile agli altri client AWS di servizio forniti dall'SDK. Per ulteriori informazioni su come configurare l'SDK e utilizzare i client di servizio, consulta [Configurare l'SDK](configure-gosdk.md) e. [Usa la AWS SDK per Go v2 con i servizi AWS](use-services.md) 

 Il client può aiutarti a recuperare facilmente informazioni sulle istanze su cui vengono eseguite le tue applicazioni, come la AWS regione o l'indirizzo IP locale. In genere, è necessario creare e inviare richieste HTTP per recuperare i metadati dell'istanza. Invece, crea un servizio `imds.Client` per accedere ad Amazon EC2 Instance Metadata Service utilizzando un client programmatico come altri AWS servizi. 

 Ad esempio, per creare 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)
```

 Quindi utilizza il client di servizio per recuperare informazioni da una categoria di metadati come `local-ipv4` (l'indirizzo IP privato dell'istanza). 

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

 Per un elenco di tutte le categorie di metadati, consulta le categorie di [metadati delle istanze](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories) nella Amazon EC2 User Guide. 