Aufrufen der API mit einem REST-API-Client
Um ein End-to-End-Tutorial bereitzustellen, zeigen wir jetzt, wie die API mit Postman
So rufen Sie die Amazon S3-Proxy-API mit Postman auf
-
Stellen Sie die API bereit (oder erneut bereit). Notieren Sie die Basis-URL der API, die neben Invoke URL oben im Stage Editor angezeigt wird.
-
Starten Sie Postman.
-
Wählen Sie Autorisierung und anschließend
AWS Signature
. Geben Sie Ihre IAM-Benutzer-Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel in die Eingabefelder AccessKey und SecretKey ein. Geben Sie die AWS-Region, in der Ihre API bereitgestellt wird, in das Textfeld AWS-Region ein. Geben Sieexecute-api
im Eingabefeld Servicename ein.Sie können ein Schlüsselpaar über die Registerkarte Security Credentials (Sicherheitsanmeldeinformationen) von Ihrem IAM-Benutzerkonto in der IAM Management Console erstellen.
-
So fügen Sie einen Bucket mit dem Namen
amzn-s3-demo-bucket
zu Ihrem Amazon S3-Konto in der Region
hinzu:{region}
-
Wählen Sie in der Dropdown-Methodenliste PUT aus und geben Sie die Methoden-URL ein (
https://
)api-id
.execute-api.aws-region
.amazonaws.com/stage
/folder-name
-
Geben Sie bei
Content-Type
den Header-Wertapplication/xml
ein. Sie müssen möglicherweise vorhandene Header löschen, bevor Sie den Content-Type angeben können. -
Wählen Sie das Menüelement Body aus, und geben Sie das folgende XML-Fragment als Anforderungstext ein:
<CreateBucketConfiguration> <LocationConstraint>
{region}
</LocationConstraint> </CreateBucketConfiguration> -
Wählen Sie Senden aus, um die Anforderung zu senden. Bei Erfolg erhalten Sie die Antwort
200 OK
mit einer leeren Nutzlast.
-
-
Um zu einem Bucket eine Textdatei hinzuzufügen, befolgen Sie die obigen Anweisungen. Wenn Sie den Bucket-Namen
amzn-s3-demo-bucket
für{folder}
und den Dateinamen fürReadme.txt
für{item}
in der URL angeben und die TextzeichenfolgeHello, World!
als Dateiinhalt (und damit als Anforderungsnutzlast) angeben, wird die AnforderungPUT /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!Wenn alles einwandfrei verläuft, erhalten Sie die Antwort
200 OK
mit einer leeren Nutzlast. -
Um den Inhalt der Datei
Readme.txt
abzurufen, die wir soeben zumamzn-s3-demo-bucket
-Bucket hinzugefügt haben, erstellen wir eine GET-Anforderung, die wie folgt aussieht: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-5bd96928098aBei Erfolg erhalten Sie die Antwort
200 OK
mit der TextzeichenfolgeHello, World!
als Nutzlast. -
Um Elemente im
amzn-s3-demo-bucket
-Bucket aufzulisten, senden Sie die folgende Anforderung: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-4c49ad8d1392Bei Erfolg erhalten Sie die Antwort
200 OK
mit einer XML-Nutzlast mit einem einzelnen Element im angegebenen Bucket, es sei denn, Sie haben noch mehr Dateien zu dem Bucket hinzugefügt, bevor Sie diese Anforderung gesendet haben.<?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>
Anmerkung
Um ein Bild hoch- oder herunterzuladen, müssen Sie für die Inhaltsbehandlung die Option CONVERT_TO_BINARY auswählen.