O gateway de API da AWS base64Decode produz um binário ilegível?

Estou tentando retornar um gif de 1px de um método do AWS API Gateway.

Como os dados binários agora são suportados, retorno uma imagem / gif usando o seguinte mapeamento 'Resposta da integração':

$util.base64Decode("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")

No entanto, quando olho para isso no Chrome, vejo o seguinte binário sendo retornado:

Ao invés de:

Alguém poderia me ajudar a entender por que isso é ilegível e o comprimento errado? Ou o que eu poderia fazer para retornar o binário correto? Existe alguma outra coisa que eu sempre poderia retornar esse gif de 1px sem usar a função base64Decode?

Muito obrigado antecipadamente, isso está me causando muita dor!

EDITAR

Este fica mais estranho. Parece que o problema não está no base64Decode, mas no tratamento geral do binário. Adicionei um back-end Lambda (anteriormente eu estava usando o Firehose) depoisesta postagem no blog e istoPergunta de estouro de pilha. Defino imagens como binaryMediaType conforme estepágina de documentação.

Isso me permitiu passar a seguinte imagem / pixel bmp do Lambda pela API do Gateway e funciona corretamente:

exports.handler = function(event, context) {

  var imageHex = "\x42\x4d\x3c\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x28\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x18\x00\x00\x00\x00\x00\x06\x00\x00\x00\x27\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00";
  context.done(null, { "body":imageHex });

};

No entanto, as seguintes imagens que representam uma imagem / png ou uma imagem / gif são distorcidas quando passadas:

exports.handler = function(event, context) {

//var imageHex = "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\xff\xff\xff\x21\xf9\x04\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x01\x44\x00\x3b";
//var imageHex = "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\xff\xff\xff\x00\x00\x00\x21\xf9\x04\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3b";
  var imageHex = "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x21\xf9\x04\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3b\x0a"
  context.done(null, { "body":imageHex });

};

Esse parece ser o mesmo problema queoutra pergunta Stack Overflow, mas eu esperava que isso fosse corrigido com o suporte binário da API do Gateway. Infelizmente image / bmp não funciona no meu caso de uso, pois não pode ser transparente ...

Caso isso ajude alguém,isso tem sido uma boa ferramenta para converter entre base64 e hex.

questionAnswers(3)

yourAnswerToTheQuestion