Appel de l’API à l’aide d’un client d’API REST - Amazon API Gateway

Appel de l’API à l’aide d’un client d’API REST

Pour fournir un didacticiel complet, nous montrons maintenant comment appeler l’API en utilisant Postman, qui prend en charge l’autorisation IAM AWS.

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.

  2. Lancez Postman.

  3. Choisissez Autorisation, puis choisissez AWS Signature. Saisissez l’ID de clé d’accès et la clé d’accès secrète de votre utilisateur IAM dans les champs de saisie AccessKey et SecretKey, respectivement. Saisissez la région Région AWS dans laquelle votre API est déployée dans la zone de texte Région AWS. 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.

  4. 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)

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

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

      <CreateBucketConfiguration> <LocationConstraint>{region}</LocationConstraint> </CreateBucketConfiguration>
    4. Choisissez Send pour envoyer la demande. Si l’opération aboutit, vous devez recevoir une réponse 200 OK avec une charge utile vide.

  5. 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! 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.

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

  7. 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_TO_BINARY au paramètre de gestion de contenu.