Ativação do suporte binário usando o console do API Gateway
Esta seção explica como habilitar o suporte a binários usando o console do API Gateway. Como exemplo, usamos uma API integrada ao Amazon S3. Nosso foco está nas tarefas para definir os tipos de mídia com suporte e especificar como a carga deve ser tratada. Para obter informações detalhadas sobre como criar uma API integrada do Amazon S3, consulte Tutorial: Crie uma API REST como um proxy do Amazon S3.
Como habilitar o suporte binário usando o console do API Gateway
-
Definir tipos de mídia binários para a API:
-
Crie uma nova API ou escolha uma API existente. Para esse exemplo, definimos o nome da API como
FileMan
. -
Na API selecionada no painel de navegação principal, selecione Configurações da API.
-
No painel Configurações da API, selecione Adicionar tipo de mídia binária na seção Tipos de mídia binária.
-
Selecione Adicionar tipo de mídia binária.
-
Insira um tipo de mídia necessário, por exemplo,
image/png
, no campo de texto de entrada. Se necessário, repita esta etapa para adicionar mais tipos de mídia. Para oferecer suporte a todos os tipos de mídia binários, especifique*/*
. -
Escolha Salvar alterações.
-
-
Defina como as cargas de mensagem são manipuladas para o método de API:
-
Crie um novo recuso ou escolha um recurso existente na API. Para este exemplo, usamos o recurso
/{folder}/{item}
. -
Crie um novo método ou escolha um método existente no recurso. Como exemplo, usamos o método
GET /{folder}/{item}
integrado à açãoObject GET
no Amazon S3. -
Em Manuseio de conteúdo, selecione uma opção.
Escolha Passthrough (Passagem) se não desejar converter o corpo quando o cliente e o backend aceitarem o mesmo formato binário. Selecione Converter em texto para converter o corpo binário em uma string codificada em base64 quando, por exemplo, o back-end exigir que uma carga útil de solicitação binária seja transmitida como a propriedade JSON. E selecione Converter em binário quando o cliente enviar uma string codificada em base64, e o back-end exigir o formato binário original, ou quando o endpoint gerar uma string codificada em base64 e o cliente aceitar apenas a saída binária.
-
Em Passagem do corpo da solicitação, selecione Quando não há modelos definidos (recomendado) para habilitar o comportamento de passagem no corpo da solicitação.
Você também pode selecionar Nunca. Isso significa que a API rejeitará dados com tipos de conteúdo que não tenham um modelo de mapeamento.
-
Preserve o cabeçalho
Accept
da solicitação de entrada na solicitação de integração. Você deverá fazer isso se tiver definidocontentHandling
comopassthrough
e quiser substituir essa configuração em tempo de execução. -
Para conversão em texto, defina um modelo de mapeamento para colocar os dados binários codificados em base64 no formato necessário.
Veja um exemplo de modelo de mapeamento para conversão em texto:
{ "operation": "thumbnail", "base64Image": "$input.body" }
O formato desse modelo de mapeamento depende das exigências de endpoint da entrada.
-
Escolha Salvar.
-