

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.

# Utilisation de l'API pour Amazon EC2
<a name="ec2-low-level-api"></a>

**Important**  
Depuis **le 14 octobre 2022,** les réponses HTTP des API Amazon EC2 n'incluent plus d'élément de phrase de motivation. Comme recommandé par la [RFC7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.1.2), vous devez vous assurer que vos applications n'utilisent pas le contenu des phrases motivantes. Assurez-vous que vos applications utilisent plutôt l'élément de code d'état à 3 chiffres inclus dans la réponse HTTP.

Nous fournissons l'API Query pour Amazon EC2, ainsi que des kits de développement logiciel (SDK) AWS qui vous permettent d'accéder à Amazon EC2 depuis votre langage de programmation préféré. Pour plus d'informations, consultez le manuel du [développeur Amazon EC2](https://docs.aws.amazon.com/ec2/latest/devguide/).

**Topics**
+ [Connaissances requises](#required-knowledge)
+ [API disponibles pour Amazon EC2](#using-libraries)
+ [Actions par service](OperationList-query.md)
+ [Demandes de requêtes](Query-Requests.md)
+ [Support CORS](cors-support.md)
+ [Manifeste d'importation de VM](manifest.md)
+ [Paramètres de requête courants](#CommonParameters)
+ [Permissions](ec2-api-permissions.md)
+ [Résolution des erreurs liées aux demandes d'API](query-api-troubleshooting.md)
+ [Codes d’erreur](errors-overview.md)

## Connaissances requises
<a name="required-knowledge"></a>

Si vous prévoyez d'accéder à Amazon EC2 par le biais d'une API, vous devez connaître les éléments suivants :
+ xml
+ Services Web
+ Requêtes HTTP
+ Un ou plusieurs langages de programmation, tels que Java, PHP, Perl, Python, Ruby, C\# ou C\+\+.

## API disponibles pour Amazon EC2
<a name="using-libraries"></a>

L'API de requête Amazon EC2 fournit des requêtes HTTP ou HTTPS qui utilisent le verbe HTTP GET ou POST et un paramètre de requête nommé. `Action`

AWS fournit des bibliothèques, des exemples de code, des didacticiels et d'autres ressources aux développeurs de logiciels qui préfèrent créer des applications à l'aide d'API spécifiques à un langage plutôt que de soumettre une demande via HTTP ou HTTPS. Ces bibliothèques fournissent des fonctions de base qui prennent automatiquement en charge des tâches telles que la signature cryptographique de vos demandes, les nouvelles tentatives et le traitement des réponses aux erreurs, afin que vous puissiez démarrer plus facilement.

Pour plus d'informations, consultez la section [Création de ressources Amazon EC2 à l'aide d'un AWS SDK](https://docs.aws.amazon.com/ec2/latest/devguide/sdk-general-information-section.html) dans le manuel du développeur *Amazon* EC2.

## Paramètres de requête courants
<a name="CommonParameters"></a>

La plupart des actions d'API Amazon EC2 prennent en charge les paramètres décrits dans les tableaux suivants. Les paramètres courants varient selon que vous utilisez Signature version 2 ou Signature version 4 pour signer vos demandes. Pour plus d'informations, consultez la section [Signature des demandes AWS d'API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) dans le *guide de l'utilisateur IAM*.

**Topics**
+ [Paramètres de la version 4 de signature](#common-parameters-sigv4)
+ [Paramètres de la version 2 de Signature](#common-parameters-sigv2)

### Paramètres de la version 4 de signature
<a name="common-parameters-sigv4"></a>


| Nom | Description | Obligatoire | 
| --- | --- | --- | 
|  `Action`  | L'action à effectuer.<br />Exemple : `RunInstances` | Oui | 
|  `Version`  | Version de l'API à utiliser. | Oui | 
|  `X-Amz-Algorithm`  | L'algorithme de hachage que vous utilisez pour créer la signature de la demande.<br />Exemple : `AWS4-HMAC-SHA256` | Oui | 
|  `X-Amz-Credential`  | L'étendue des informations d'identification pour la demande, au format{{access-key-ID}}//{{YYYYMMDD}}/{{region}}/{{service}}`aws4_request`<br />Exemple : `AKIDEXAMPLE/20140707/us-east-1/ec2/aws4_request`  | Oui | 
|  `X-Amz-Date`  | Date et heure auxquelles la demande est signée, au format YYYYMMDDTHHMMSSZ. La date doit correspondre à la date incluse dans la portée des informations d'identification pour le `X-Amz-Credential` paramètre, ou à la date utilisée dans un `Authorization` en-tête (voir la note sous le tableau).<br />Exemple : `20140707T150456Z` | Oui | 
| X-Amz-SignedHeaders | Les en-têtes que vous incluez dans le cadre de la demande. Vous devez au minimum inclure l'`host`en-tête. Si vous incluez un `x-amz-date` en-tête dans votre demande, vous devez l'inclure dans la liste des en-têtes signés.<br />Exemple : `content-type;host;user-agent` | Oui | 
|  `X-Amz-Signature`  | Une signature dérivée de votre clé d'accès secrète.<br />Exemple : `ced6826de92d2bdeed8f846f0bf508e8559example` | Oui | 
|  `X-Amz-Security-Token`  | Le jeton de sécurité temporaire obtenu par un appel à AWS Security Token Service.<br />Exemple : `AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L` | Non | 
|  `DryRun`  | Vérifie si vous disposez des autorisations requises pour l'action, sans réellement en faire la demande. Si vous disposez des autorisations requises, la demande est renvoyée `DryRunOperation` ; dans le cas contraire, elle est renvoyée`UnauthorizedOperation`. | Non | 

Les `X-Amz-Signature` paramètres `X-Amz-Algorithm``X-Amz-Credential`,`X-Amz-SignedHeaders`, et peuvent être spécifiés en tant que paramètres distincts dans la chaîne de requête ou leurs valeurs peuvent être incluses dans un seul `Authorization` en-tête. Pour plus d'informations, consultez la section [Signature des demandes AWS d'API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) dans le *guide de l'utilisateur IAM*.

### Paramètres de la version 2 de Signature
<a name="common-parameters-sigv2"></a>


| Nom | Description | Obligatoire | 
| --- | --- | --- | 
|  `Action`  | L'action à effectuer.<br />Exemple : `RunInstances` | Oui | 
|  `Version`  | Version de l'API à utiliser. | Oui | 
|  `AWSAccessKeyId`  | ID de clé d'accès pour l'expéditeur de la demande. Cela identifie le compte qui sera débité pour l'utilisation du service. Le compte associé à l'ID de clé d'accès doit être inscrit à Amazon EC2, sinon la demande n'est pas acceptée.<br /> Exemple : `AKIAIOSFODNN7EXAMPLE`  | Oui | 
|  `Expires`  | Date et heure auxquelles la signature incluse dans la demande expire, dans le format YYYY-MM-DDThh:mm:ssZ. Pour plus d'informations, consultez [ISO 8601](http://www.w3.org/TR/NOTE-datetime).<br />Exemple : `2006-07-07T15:04:56Z` | Conditionnelle. Les demandes doivent inclure l'un Timestamp ou l'autreExpires, mais ne peuvent pas contenir les deux.  | 
|  `Timestamp`  | Date et heure auxquelles la demande est signée, dans le format YYYY-MM-DDThh:mm:ssZ. Pour plus d'informations, consultez [ISO 8601](http://www.w3.org/TR/NOTE-datetime).<br />Exemple : `2006-07-07T15:04:56Z` | Conditionnelle. Les demandes doivent inclure l'un Timestamp ou l'autreExpires, mais ne peuvent pas contenir les deux.  | 
|  `Signature`  | Signature de la demande.<br />Exemple : `Qnpl4Qk/7tINHzfXCiT7VEXAMPLE` | Oui | 
|  `SignatureMethod`  | L'algorithme de hachage que vous utilisez pour créer la signature de la demande. Valeurs valides : `HmacSHA256` \| `HmacSHA1`. <br />Exemple : `HmacSHA256` | Oui | 
|  `SignatureVersion`  | Version de signature que vous utilisez pour signer la demande. Définissez cette valeur à `2`. <br />Exemple : `2` | Oui | 
|  `DryRun`  | Vérifie si vous disposez des autorisations requises pour l'action, sans réellement en faire la demande. Si vous disposez des autorisations requises, la demande est renvoyée `DryRunOperation` ; dans le cas contraire, elle est renvoyée`UnauthorizedOperation`. | Non | 
|  `SecurityToken`  | Le jeton de sécurité temporaire obtenu par un appel à AWS Security Token Service.<br />Exemple : `AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L` | Non | 

Les valeurs des paramètres doivent être URL-encoded. Cela est vrai pour tout paramètre de requête transmis à Amazon EC2 et est généralement nécessaire dans le `Signature` paramètre. Certains clients le font automatiquement, mais ce n'est pas la norme. 