Chamar a API usando um cliente de API REST - Amazon API Gateway

Chamar a API usando um cliente de API REST

Para fornecer um tutorial abrangente, agora mostramos como chamar a API usando o Postman, que oferece suporte à autorização do IAM da AWS.

Como chamar nossa API de proxy do Amazon S3 usando Postman
  1. Implante ou reimplante a API. Anote a URL base da API que é exibida ao lado de Invocar URL na parte superior de Editor de estágio.

  2. Inicie o Postman.

  3. Escolha Autorização e AWS Signature. Insira o ID de chave de acesso e a chave de acesso secreta do usuário do IAM nos campos de entrada AccessKey e SecretKey, respectivamente. Insira a Região da AWS onde sua API está implantada na caixa de texto Região da AWS. Insira execute-api no campo de entrada Nome do serviço.

    É possível criar um par de chaves da guia Security Credentials (Credenciais de segurança) da conta de usuário do IAM no Console de Gerenciamento do IAM.

  4. Para adicionar um bucket denominado amzn-s3-demo-bucket à conta do Amazon S3 na região {region}:

    1. Escolha PUT na lista suspensa de métodos e digite a URL do método (https://api-id.execute-api.aws-region.amazonaws.com/stage/folder-name)

    2. Defina o valor do cabeçalho Content-Type como application/xml. Talvez seja necessário excluir todos os cabeçalhos existentes antes de definir o tipo de conteúdo.

    3. Escolha o item de menu Corpo e digite o seguinte fragmento de XML como o corpo da solicitação:

      <CreateBucketConfiguration> <LocationConstraint>{region}</LocationConstraint> </CreateBucketConfiguration>
    4. Escolha Enviar para enviar a solicitação. Se for bem-sucedido, você receberá uma resposta 200 OK com uma carga vazia.

  5. Para adicionar um arquivo de texto a um bucket, siga as instruções acima. Se você especificar o nome de um bucket de amzn-s3-demo-bucket como {folder} e o nome de um arquivo deReadme.txt como {item} no URL e fornecer uma string de texto de Hello, World! como conteúdos de arquivos (tornando-a, dessa forma, a carga da solicitação), a solicitação se tornará

    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!

    Se tudo der certo, você receberá uma resposta 200 OK com uma carga vazia.

  6. Para obter o conteúdo do arquivo Readme.txt que acabamos de adicionar ao bucket amzn-s3-demo-bucket, faça uma solicitação GET como a seguinte:

    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

    Se for bem-sucedido, você receberá uma resposta 200 OK com uma string de texto Hello, World! como carga.

  7. Para listar itens no bucket amzn-s3-demo-bucket, envie a seguinte solicitação:

    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

    Se for bem-sucedido, você receberá uma resposta 200 OK com uma carga XML mostrando um único item no bucket especificado, a menos que tenha adicionado mais arquivos ao bucket antes de enviar essa solicitação.

    <?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 carregar ou baixar uma imagem, você precisa configurar a manipulação de conteúdo para CONVERT_TO_BINARY.