

# Ativação do suporte binário usando o console do API Gateway
<a name="api-gateway-payload-encodings-configure-with-console"></a>

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](integrating-api-with-aws-services-s3.md).

**Como habilitar o suporte binário usando o console do API Gateway**

1. Definir tipos de mídia binários para a API:

   1. Crie uma nova API ou escolha uma API existente. Para esse exemplo, definimos o nome da API como `FileMan`.

   1. Na API selecionada no painel de navegação principal, selecione **Configurações da API**.

   1. No painel **Configurações da API**, selecione **Adicionar tipo de mídia binária** na seção **Tipos de mídia binária**.

   1. Selecione **Adicionar tipo de mídia binária**.

   1. 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 `*/*`.

   1. Escolha **Salvar alterações**.

1. Defina como as cargas de mensagem são manipuladas para o método de API:

   1. Crie um novo recuso ou escolha um recurso existente na API. Para este exemplo, usamos o recurso `/{folder}/{item}`.

   1. Crie um novo método ou escolha um método existente no recurso. Como exemplo, usamos o método `GET /{folder}/{item}` integrado à ação `Object GET` no Amazon S3. 

   1. Em **Manuseio de conteúdo**, selecione uma opção. 

         
![Configure o método GET no console do API Gateway.](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/binary-support-content-handling-on-method-new-console.png)

      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.

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

   1. Preserve o cabeçalho `Accept` da solicitação de entrada na solicitação de integração. Você deverá fazer isso se tiver definido `contentHandling` como `passthrough` e quiser substituir essa configuração em tempo de execução.

         
![Mantenha o cabeçalho Accept na solicitação de integração.](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/binary-support-preserve-incoming-accept-header-new-console.png)

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

   1. Escolha **Salvar**.