

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.

# Appel de l’API à l’aide d’un client d’API REST
<a name="api-as-s3-proxy-test-using-postman"></a>

Pour fournir un end-to-end didacticiel, nous montrons maintenant comment appeler l'API à l'aide de [Postman](https://www.postman.com/), qui prend en charge l'autorisation AWS IAM.<a name="api-as-s3-proxy-test-using-postman-steps"></a>

**Pour appeler notre API proxy Amazon S3 à l’aide de Postman**

1. Déployez ou redéployez l’API. Notez l’URL de base de l’API qui s’affiche à côté d’**Invoke URL** en haut de **Stage Editor**.

1. Lancez Postman.

1. Choisissez **Autorisation**, puis choisissez `AWS Signature`. Entrez l'ID de clé d'accès et la clé d'accès secrète de votre utilisateur IAM dans les champs de **SecretKey**saisie **AccessKey**et, respectivement. Entrez l'adresse Région AWS vers laquelle votre API est déployée dans la **AWS zone de texte Région**. Saisissez `execute-api` dans le champ de saisie **Nom du service**.

   Vous pouvez créer une paire de clés à partir de l’onglet **Security Credentials (Informations d’identification de sécurité** de votre compte d’utilisateur IAM dans IAM Management Console.

1. Pour ajouter un compartiment nommé `amzn-s3-demo-bucket` à votre compte Amazon S3 dans la région `{region}` :

   1. Choisissez **PUT** dans la liste déroulante de méthodes et le tapez l’URL de la méthode (`https://api-id.execute-api.aws-region.amazonaws.com/stage/folder-name`)

   1. Définissez la valeur de l’en-tête `Content-Type` sur `application/xml`. Vous devrez peut-être supprimer des en-têtes existants avant de définir le type de contenu.

   1. Choisissez l’élément de menu **Body** et tapez le fragment XML suivant comme corps de la demande :

      ```
      <CreateBucketConfiguration> 
        <LocationConstraint>{region}</LocationConstraint> 
      </CreateBucketConfiguration>
      ```

   1. Choisissez **Send** pour envoyer la demande. Si l’opération aboutit, vous devez recevoir une réponse `200 OK` avec une charge utile vide. 

1. Pour ajouter un fichier texte à un compartiment, suivez les instructions ci-dessus. Si vous spécifiez le nom de compartiment **amzn-s3-demo-bucket** pour `{folder}` et le nom de fichier **Readme.txt** pour `{item}` dans l’URL, et si vous fournissez la chaîne de texte **Hello, World\$1** comme contenu de fichier (qui devient de ce fait la charge utile de la demande), la demande devient :

   ```
   PUT /S3/amzn-s3-demo-bucket/Readme.txt HTTP/1.1
   Host: 9gn28ca086.execute-api.{region}.amazonaws.com
   Content-Type: application/xml
   X-Amz-Date: 20161015T062647Z
   Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=ccadb877bdb0d395ca38cc47e18a0d76bb5eaf17007d11e40bf6fb63d28c705b
   Cache-Control: no-cache
   Postman-Token: 6135d315-9cc4-8af8-1757-90871d00847e
   
   Hello, World!
   ```

   Si tout se passe bien, vous devez recevoir une réponse `200 OK` avec une charge utile vide.

1. Pour obtenir le contenu du fichier `Readme.txt` que nous venons d’ajouter au compartiment `amzn-s3-demo-bucket`, exécutez une demande GET comme suit :

   ```
   GET /S3/amzn-s3-demo-bucket/Readme.txt HTTP/1.1
   Host: 9gn28ca086.execute-api.{region}.amazonaws.com
   Content-Type: application/xml
   X-Amz-Date: 20161015T063759Z
   Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ba09b72b585acf0e578e6ad02555c00e24b420b59025bc7bb8d3f7aed1471339
   Cache-Control: no-cache
   Postman-Token: d60fcb59-d335-52f7-0025-5bd96928098a
   ```

   Si la demande aboutit, vous devez recevoir une réponse `200 OK` avec la chaîne de texte `Hello, World!` comme charge utile.

1. Pour répertorier les éléments du compartiment `amzn-s3-demo-bucket`, envoyez la demande suivante :

   ```
   GET /S3/amzn-s3-demo-bucket HTTP/1.1
   Host: 9gn28ca086.execute-api.{region}.amazonaws.com
   Content-Type: application/xml
   X-Amz-Date: 20161015T064324Z
   Authorization: AWS4-HMAC-SHA256 Credential=access-key-id/20161015/{region}/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4ac9bd4574a14e01568134fd16814534d9951649d3a22b3b0db9f1f5cd4dd0ac
   Cache-Control: no-cache
   Postman-Token: 9c43020a-966f-61e1-81af-4c49ad8d1392
   ```

   Si la demande aboutit, vous devez recevoir une réponse `200 OK` avec une charge utile XML montrant un seul élément dans le compartiment spécifié, sauf si vous avez ajouté d’autres fichiers au compartiment avant d’envoyer cette demande.

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
       <Name>apig-demo-5</Name>
       <Prefix></Prefix>
       <Marker></Marker>
       <MaxKeys>1000</MaxKeys>
       <IsTruncated>false</IsTruncated>
       <Contents>
           <Key>Readme.txt</Key>
           <LastModified>2016-10-15T06:26:48.000Z</LastModified>
           <ETag>"65a8e27d8879283831b664bd8b7f0ad4"</ETag>
           <Size>13</Size>
           <Owner>
               <ID>06e4b09e9d...603addd12ee</ID>
               <DisplayName>user-name</DisplayName>
           </Owner>
           <StorageClass>STANDARD</StorageClass>
       </Contents>
   </ListBucketResult>
   ```

**Note**  
Pour charger ou télécharger une image, vous devez affecter la valeur CONVERT\$1TO\$1BINARY au paramètre de gestion de contenu.