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
Para llamar a nuestra API de proxy de Amazon S3 mediante Postman
-
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).
-
Inicie Postman.
-
Elija Authorization (Autorización) y, a continuación, elija
AWS Signature
. Ingrese 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. Ingrese la Región de AWS en la que va a implementar la API en el cuadro de texto Región de AWS. Ingreseexecute-api
en el campo de entrada 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.
-
Para agregar un bucket denominado
amzn-s3-demo-bucket
a su cuenta de Amazon S3 en la región
:{region}
-
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
-
Establezca el valor del encabezado
Content-Type
enapplication/xml
. Es posible que necesite eliminar todos los encabezados existentes antes de configurar el tipo de contenido. -
Elija el elemento de menú Body (Cuerpo) y escriba el siguiente fragmento XML como cuerpo de la solicitud:
<CreateBucketConfiguration> <LocationConstraint>
{region}
</LocationConstraint> </CreateBucketConfiguration> -
Elija Send (Enviar) para enviar la solicitud. Si todo va bien, debería recibir una respuesta
200 OK
con una carga vacía.
-
-
Para añadir un archivo de texto a un bucket, siga las instrucciones anteriores. Si especifica el nombre de bucket de
amzn-s3-demo-bucket
para{folder}
y el nombre de archivoReadme.txt
para{item}
en la dirección URL y proporciona la cadena de textoHello, World!
como contenido de archivo (con lo que se convierte en la carga de la solicitud), la respuesta será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 todo sale bien, debe recibir una respuesta
200 OK
con una carga vacía. -
Para obtener el contenido del archivo
Readme.txt
que acaba de añadir al bucketamzn-s3-demo-bucket
, envíe una solicitud GET como la siguiente: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 todo sale bien, debe recibir una respuesta
200 OK
con la cadena de textoHello, World!
como la carga. -
Para mostrar los elementos del bucket
amzn-s3-demo-bucket
, envíe la siguiente solicitud: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 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.