Llamar a la API mediante un cliente API de REST - Amazon API Gateway

Llamar a la API mediante un cliente API de REST

Para proporcionar un tutorial completo, ahora mostraremos cómo llamar a la API mediante Postman, que admite la autorización de IAM de AWS.

Para llamar a nuestra API de proxy de Amazon S3 mediante Postman
  1. Implemente o vuelva a implementar la API. Anote la URL base de la API que se muestra junto a Invoke URL (URL de invocación) en la parte superior de Stage Editor (Editor de etapas).

  2. Inicie Postman.

  3. Elija Authorization (Autorización) y, a continuación, elija AWS Signature. Escriba el ID de clave de acceso y la clave de acceso secreta del usuario de IAM en los campos de entrada AccessKey y SecretKey, respectivamente. Escriba la región de AWS en la que se va a implementar la API en el cuadro de texto Región de AWS. Escriba execute-api en el campo de entrada Service Name (Nombre del servicio).

    Puede crear un par de claves desde la pestaña Security Credentials (Credenciales de seguridad) de su cuenta de usuario de IAM en la consola de administración de IAM.

  4. Para agregar un bucket denominado apig-demo-5 a su cuenta de Amazon S3 en la región {region}:

    nota

    Asegúrese de que el nombre de bucket sea único de forma global.

    1. Seleccione PUT en la lista desplegable de métodos y escriba la URL del método (https://api-id.execute-api.aws-region.amazonaws.com/stage/folder-name)

    2. Establezca el valor del encabezado Content-Type en application/xml. Es posible que necesite eliminar todos los encabezados existentes antes de configurar el tipo de contenido.

    3. Elija el elemento de menú Body (Cuerpo) y escriba el siguiente fragmento XML como cuerpo de la solicitud:

      <CreateBucketConfiguration> <LocationConstraint>{region}</LocationConstraint> </CreateBucketConfiguration>
    4. Elija Send (Enviar) para enviar la solicitud. Si todo va bien, debería recibir una respuesta 200 OK con una carga vacía.

  5. Para añadir un archivo de texto a un bucket, siga las instrucciones anteriores. Si especifica el nombre de bucket de apig-demo-5 para {folder} y el nombre de archivo Readme.txt para {item} en la dirección URL y proporciona la cadena de texto Hello, World! como contenido de archivo (con lo que se convierte en la carga de la solicitud), la respuesta será

    PUT /S3/apig-demo-5/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 todo sale bien, debe recibir una respuesta 200 OK con una carga vacía.

  6. Para obtener el contenido del archivo Readme.txt que acaba de añadir al bucket apig-demo-5, envíe una solicitud GET como la siguiente:

    GET /S3/apig-demo-5/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 todo sale bien, debe recibir una respuesta 200 OK con la cadena de texto Hello, World! como la carga.

  7. Para mostrar los elementos del bucket apig-demo-5, envíe la siguiente solicitud:

    GET /S3/apig-demo-5 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 todo sale bien, debe recibir una respuesta 200 OK con una carga XML que muestre un único elemento en el bucket especificado, a menos que haya añadido más archivos al bucket antes de enviar esta solicitud.

    <?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

Para cargar o descargar una imagen, debe configurar el tratamiento de contenido como CONVERT_TO_BINARY.