Chiamata dell'API mediante un client API REST
Per fornire un tutorial completo, mostreremo ora come chiamare l'API utilizzando Postman
Per chiamare l'API proxy Amazon S3 utilizzando Postman
-
Distribuisci o ridistribuisci l'API. Annota l'URL di base dell'API visualizzato accanto a Invoke URL (URL chiamata) in alto in Stage Editor (Editor fasi).
-
Avvia Postman.
-
Seleziona Authorization (Autorizzazione), quindi scegli
AWS Signature
. Immetti l'ID chiave di accesso dell'utente IAM e la chiave di accesso segreta rispettivamente nei campi di input AccessKey e SecretKey. Immetti la Regione AWS in cui è implementata l'API nella casella di testo Regione AWS. Immettiexecute-api
nel campo di input Nome servizio.Puoi creare una coppia di chiavi dalla scheda Security Credentials (Credenziali di sicurezza) con il tuo account utente IAM nella console di gestione IAM.
-
Per aggiungere un bucket denominato
amzn-s3-demo-bucket
all'account Amazon S3 nella regione
:{region}
-
Seleziona PUT nell'elenco a discesa dei metodi e digita l'URL del metodo (
https://
)api-id
.execute-api.aws-region
.amazonaws.com/stage
/folder-name
-
Imposta il valore dell'intestazione
Content-Type
comeapplication/xml
. Potrebbe essere necessario eliminare le intestazioni esistenti prima di impostare il tipo di contenuto. -
Seleziona la voce di menu Body (Corpo) e digita il seguente frammento XML come corpo della richiesta:
<CreateBucketConfiguration> <LocationConstraint>
{region}
</LocationConstraint> </CreateBucketConfiguration> -
Seleziona Send (Invia) per inviare la richiesta. Se l'operazione viene eseguita correttamente, dovresti ricevere una risposta
200 OK
con un payload vuoto.
-
-
Per aggiungere un file di testo a un bucket, segui le istruzioni riportate sopra. Se specifichi il nome bucket
amzn-s3-demo-bucket
per{folder}
e il nome fileReadme.txt
per{item}
nell'URL e fornisci la stringa di testoHello, World!
come contenuti del file (rendendola così il payload di richiesta), la richiesta diventaPUT /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!Se l'operazione viene eseguita correttamente, dovresti ricevere una risposta
200 OK
con un payload vuoto. -
Per ottenere il contenuto del file
Readme.txt
appena aggiunto al bucketamzn-s3-demo-bucket
, esegui una richiesta GET come la seguente: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-5bd96928098aSe l'operazione viene eseguita correttamente, dovresti ricevere una risposta
200 OK
con la stringa di testoHello, World!
come payload. -
Per elencare le voci nel bucket
amzn-s3-demo-bucket
, invia la richiesta seguente: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-4c49ad8d1392Se l'operazione riesce, dovresti ricevere una risposta
200 OK
con un payload XML che mostra una voce singola nel bucket specificato, a meno che tu non abbia aggiunto altri file al bucket prima di inviare questa richiesta.<?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>
Nota
Per caricare o scaricare un'immagine, è necessario impostare la gestione del contenuto su CONVERT_TO_BINARY.