

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

# Utilizzo dell'API per Amazon EC2
<a name="ec2-low-level-api"></a>

**Importante**  
A partire dal **14 ottobre 2022,** le risposte HTTP delle API di Amazon EC2 non includono più un elemento reason-phrase. Come consigliato da [RFC7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2), dovresti assicurarti che le tue applicazioni non utilizzino il contenuto della frase motivata. Assicurati che le tue applicazioni utilizzino invece l'elemento del codice di stato a 3 cifre incluso nella risposta HTTP.

Forniamo l'API Query per Amazon EC2, oltre ai kit di sviluppo software (SDK) AWS che ti consentono di accedere ad Amazon EC2 dal tuo linguaggio di programmazione preferito. Per ulteriori informazioni, consulta la [Amazon EC2 Developer Guide](https://docs.aws.amazon.com/ec2/latest/devguide/).

**Topics**
+ [Competenze richieste](#required-knowledge)
+ [API disponibili per Amazon EC2](#using-libraries)
+ [Azioni per servizio](OperationList-query.md)
+ [Richieste di interrogazione](Query-Requests.md)
+ [supporto CORS](cors-support.md)
+ [Manifesto di importazione VM](manifest.md)
+ [Parametri di query comuni](#CommonParameters)
+ [Permissions](ec2-api-permissions.md)
+ [Risoluzione degli errori nelle richieste API](query-api-troubleshooting.md)
+ [Codici di errore](errors-overview.md)

## Competenze richieste
<a name="required-knowledge"></a>

Se prevedi di accedere ad Amazon EC2 tramite un'API, dovresti conoscere quanto segue:
+ XML
+ Servizi Web
+ Richieste HTTP
+ Uno o più linguaggi di programmazione, come Java, PHP, Perl, Python, Ruby, C\# o C\+\+.

## API disponibili per Amazon EC2
<a name="using-libraries"></a>

L'API Query di Amazon EC2 fornisce richieste HTTP o HTTPS che utilizzano il verbo HTTP GET o POST e un parametro Query denominato. `Action`

AWS fornisce librerie, codice di esempio, tutorial e altre risorse per gli sviluppatori di software che preferiscono creare applicazioni utilizzando API specifiche del linguaggio anziché inviare una richiesta tramite HTTP o HTTPS. Queste librerie forniscono funzioni di base che si occupano automaticamente di attività come la firma crittografica delle richieste, il ritentativo delle richieste e la gestione delle risposte agli errori, in modo che sia più facile iniziare.

Per ulteriori informazioni, consulta [Creare risorse Amazon EC2 utilizzando un AWS SDK](https://docs.aws.amazon.com/ec2/latest/devguide/sdk-general-information-section.html) nella *Amazon* EC2 Developer Guide.

## Parametri di query comuni
<a name="CommonParameters"></a>

La maggior parte delle azioni API di Amazon EC2 supporta i parametri descritti nelle tabelle seguenti. I parametri comuni variano a seconda che tu stia utilizzando Signature Version 2 o Signature Version 4 per firmare le tue richieste. Per ulteriori informazioni, consulta [Signing AWS API request](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) nella *IAM User Guide*.

**Topics**
+ [Parametri per la versione 4 di Signature](#common-parameters-sigv4)
+ [Parametri per la versione 2 di Signature](#common-parameters-sigv2)

### Parametri per la versione 4 di Signature
<a name="common-parameters-sigv4"></a>


| Nome | Description | Richiesto | 
| --- | --- | --- | 
|  `Action`  | L'azione da eseguire.<br />Ad esempio: `RunInstances` | Sì | 
|  `Version`  | La versione dell'API di da utilizzare. | Sì | 
|  `X-Amz-Algorithm`  | L'algoritmo hash utilizzato per creare la firma della richiesta.<br />Ad esempio: `AWS4-HMAC-SHA256` | Sì | 
|  `X-Amz-Credential`  | L'ambito delle credenziali per la richiesta, nel formato{{access-key-ID}}///{{YYYYMMDD}}/{{region}}{{service}}`aws4_request`<br />Ad esempio: `AKIDEXAMPLE/20140707/us-east-1/ec2/aws4_request`  | Sì | 
|  `X-Amz-Date`  | La data e l'ora in cui viene firmata la richiesta, nel formato YYYYMMDDthHmmssz. La data deve corrispondere alla data inclusa nell'ambito delle credenziali per il `X-Amz-Credential` parametro o alla data utilizzata in un'intestazione (vedi la nota sotto la tabella). `Authorization`<br />Ad esempio: `20140707T150456Z` | Sì | 
| X-Amz-SignedHeaders | Le intestazioni che includi come parte della richiesta. Come minimo, è necessario includere l'`host`intestazione. Se includi un'`x-amz-date`intestazione nella richiesta, devi includerla nell'elenco delle intestazioni firmate.<br />Ad esempio: `content-type;host;user-agent` | Sì | 
|  `X-Amz-Signature`  | Una firma derivata dalla tua chiave di accesso segreta.<br />Ad esempio: `ced6826de92d2bdeed8f846f0bf508e8559example` | Sì | 
|  `X-Amz-Security-Token`  | Il token di sicurezza temporaneo ottenuto tramite una chiamata a Servizio di token di sicurezza AWS.<br />Ad esempio: `AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L` | No | 
|  `DryRun`  | Verifica se si dispone delle autorizzazioni necessarie per l'azione, senza effettuare effettivamente la richiesta. Se si dispone delle autorizzazioni richieste, la richiesta viene restituita`DryRunOperation`; in caso contrario, viene restituita. `UnauthorizedOperation` | No | 

I `X-Amz-Signature` parametri `X-Amz-Algorithm``X-Amz-Credential`,`X-Amz-SignedHeaders`, e possono essere specificati come parametri separati nella stringa di query oppure i relativi valori possono essere inclusi in un'unica `Authorization` intestazione. Per ulteriori informazioni, consulta [Signing AWS API request](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) nella *IAM User Guide*.

### Parametri per la versione 2 di Signature
<a name="common-parameters-sigv2"></a>


| Nome | Description | Richiesto | 
| --- | --- | --- | 
|  `Action`  | L'azione da eseguire.<br />Ad esempio: `RunInstances` | Sì | 
|  `Version`  | La versione dell'API di da utilizzare. | Sì | 
|  `AWSAccessKeyId`  | L'ID della chiave di accesso per il mittente della richiesta. Identifica l'account a cui verrà addebitato l'utilizzo del servizio. L'account associato all'ID della chiave di accesso deve essere registrato per Amazon EC2, altrimenti la richiesta non viene accettata.<br /> Ad esempio: `AKIAIOSFODNN7EXAMPLE`  | Sì | 
|  `Expires`  | La data e l'ora in cui scade la firma inclusa nella richiesta, nel formato. YYYY-MM-DDThh:mm:ssZ Per ulteriori informazioni, consulta il protocollo [ISO 8601](http://www.w3.org/TR/NOTE-datetime).<br />Ad esempio: `2006-07-07T15:04:56Z` | Condizionale. Le richieste devono includere una delle due Timestamp o Expires non possono contenere entrambe.  | 
|  `Timestamp`  | La data e l'ora in cui viene firmata la richiesta, nel formato YYYY-MM-DDThh:mm:ssZ. Per ulteriori informazioni, consulta il protocollo [ISO 8601](http://www.w3.org/TR/NOTE-datetime).<br />Ad esempio: `2006-07-07T15:04:56Z` | Condizionale. Le richieste devono includere uno Timestamp o entrambiExpires, ma non possono contenerli entrambi.  | 
|  `Signature`  | La firma della richiesta.<br />Ad esempio: `Qnpl4Qk/7tINHzfXCiT7VEXAMPLE` | Sì | 
|  `SignatureMethod`  | L'algoritmo hash utilizzato per creare la firma della richiesta. Valori validi: `HmacSHA256` \| `HmacSHA1`. <br />Ad esempio: `HmacSHA256` | Sì | 
|  `SignatureVersion`  | Versione della firma da utilizzare per firmare la richiesta. Imposta questo valore su `2`. <br />Ad esempio: `2` | Sì | 
|  `DryRun`  | Verifica se disponi delle autorizzazioni necessarie per l'azione, senza effettuare effettivamente la richiesta. Se si dispone delle autorizzazioni richieste, la richiesta viene restituita`DryRunOperation`; in caso contrario, viene restituita. `UnauthorizedOperation` | No | 
|  `SecurityToken`  | Il token di sicurezza temporaneo ottenuto tramite una chiamata a Servizio di token di sicurezza AWS.<br />Ad esempio: `AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L` | No | 

I valori dei parametri devono essere URL-encoded. Questo vale per qualsiasi parametro di Query passato ad Amazon EC2 ed è in genere necessario nel `Signature` parametro. Alcuni client lo fanno automaticamente, ma questa non è la norma. 