Aufrufen der API mit einem REST-API-Client - Amazon API Gateway

Aufrufen der API mit einem REST-API-Client

Um ein End-to-End-Tutorial bereitzustellen, zeigen wir jetzt, wie die API mit Postman aufgerufen wird, das die AWS-IAM-Autorisierung unterstützt.

So rufen Sie die Amazon S3-Proxy-API mit Postman auf
  1. 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.

  2. Starten Sie Postman.

  3. 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 Sie execute-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.

  4. So fügen Sie einen Bucket mit dem Namen amzn-s3-demo-bucket zu Ihrem Amazon S3-Konto in der Region {region} hinzu:

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

    2. Geben Sie bei Content-Type den Header-Wert application/xml ein. Sie müssen möglicherweise vorhandene Header löschen, bevor Sie den Content-Type angeben können.

    3. Wählen Sie das Menüelement Body aus, und geben Sie das folgende XML-Fragment als Anforderungstext ein:

      <CreateBucketConfiguration> <LocationConstraint>{region}</LocationConstraint> </CreateBucketConfiguration>
    4. Wählen Sie Senden aus, um die Anforderung zu senden. Bei Erfolg erhalten Sie die Antwort 200 OK mit einer leeren Nutzlast.

  5. 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ür Readme.txt für {item} in der URL angeben und die Textzeichenfolge Hello, World! als Dateiinhalt (und damit als Anforderungsnutzlast) angeben, wird die Anforderung

    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!

    Wenn alles einwandfrei verläuft, erhalten Sie die Antwort 200 OK mit einer leeren Nutzlast.

  6. Um den Inhalt der Datei Readme.txt abzurufen, die wir soeben zum amzn-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-5bd96928098a

    Bei Erfolg erhalten Sie die Antwort 200 OK mit der Textzeichenfolge Hello, World! als Nutzlast.

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

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