Двоичные данные через AWS Lambda, запускаемые API-шлюзом - PullRequest
0 голосов
/ 10 января 2019

Я знаю, что есть несколько похожих вопросов по этой теме, но я еще не нашел свою точную проблему. Если есть, простите меня и пришлите мне ссылку: -)

У меня есть лямбда-функция, которая запускается API-шлюзом и возвращает закодированную в base64 строку изображения / файла формата.

Я отредактировал конфигурации API-шлюза, чтобы он преобразовывал строку обратно в двоичные данные.

Если я тестирую все это с включенной функцией AWS, двоичный код изображения (файл .tiff) отображается правильно.

It works!

Однако, если я протестирую его через Postman, загруженный файл все еще содержит строку в кодировке base64, и его необходимо будет декодировать. Таким образом, я не могу напрямую загрузить файл из API, но придется выполнить какое-то преобразование на стороне клиента, верно?

enter image description here

Это заголовок, который я получаю от моего API через Почтальон: enter image description here

Я также включил заголовок Accept: image/tiff

Мой возврат Python лямбда-бэкэнда выглядит так: return base64.b64encode(binary_data).decode('ascii')

Почему он преобразуется в двоичные данные на консоли AWS, а не через Postman (или curl)? Я немного растерялся. Вот мои настройки для ответа интеграции: enter image description here

В конце я хотел бы установить все это через сервер, но я уже рад, чтобы он работал через веб-интерфейс и позже перешел на сервер.

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 01 апреля 2019

Это не прямой ответ на вопрос, а скорее обходной путь:

Мы решили это, сгенерировав предварительно назначенный URL-адрес и отобразив оттуда двоичные данные. Это сработало как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...