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
Pour appeler notre API proxy Amazon S3 à l’aide de Postman
-
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.
-
Lancez Postman.
-
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. Saisissezexecute-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.
-
Pour ajouter un compartiment nommé
amzn-s3-demo-bucket
à votre compte Amazon S3 dans la région
:{region}
-
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
-
Définissez la valeur de l’en-tête
Content-Type
surapplication/xml
. Vous devrez peut-être supprimer des en-têtes existants avant de définir le type de contenu. -
Choisissez l’élément de menu Body et tapez le fragment XML suivant comme corps de la demande :
<CreateBucketConfiguration> <LocationConstraint>
{region}
</LocationConstraint> </CreateBucketConfiguration> -
Choisissez Send pour envoyer la demande. Si l’opération aboutit, vous devez recevoir une réponse
200 OK
avec une charge utile vide.
-
-
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 fichierReadme.txt
pour{item}
dans l’URL, et si vous fournissez la chaîne de texteHello, 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. -
Pour obtenir le contenu du fichier
Readme.txt
que nous venons d’ajouter au compartimentamzn-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-5bd96928098aSi la demande aboutit, vous devez recevoir une réponse
200 OK
avec la chaîne de texteHello, World!
comme charge utile. -
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-4c49ad8d1392Si 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.