Шлюз API AWS - ошибка ответа метода POST - PullRequest
0 голосов
/ 07 октября 2019

Я работаю над API обработки изображений. В этом процессе изображение (.jpeg) экрана захватывается и через api-шлюз POST'ed к lambda, оттуда оно загружается на s3 и затем извлекается для обработки и извлечения текста с использованием open-cv. Извлеченный текст будет возвращен через API-шлюз в качестве ответа.

Я устанавливаю параметры запроса на основе ссылки https://aws.amazon.com/blogs/compute/binary-support-for-api-integrations-with-amazon-api-gateway/

Поскольку это не лямбда-прокси, настройки для интеграцииответ и код выполняются так же, как в одном из ответов на аналогичный запрос: https://kennbrodhagen.net/2016/01/31/how-to-return-html-from-aws-api-gateway-lambda/

Я проверил наблюдение за облаком, и весь код работает правильно. То есть изображение сохраняется, обрабатывается и правильный текст извлекается из изображения. И все же ответом является «Внутренняя ошибка сервера».

def lambda_handler(event, context):
    ......
    value = {'camera': 'image', 'image_name': 'cropped_frame0.jpeg', 'bpm': '117', 
             'spo2': '97'}

    return {
        'statusCode': 200,
        'headers': {'Content-Type': 'application/json'},
        'body': json.dumps(value)
    }

curl --request POST -H "Accept: image / jpeg" -H "Content-Type: image / jpeg" --data-binary "@cropped_frame0.jpeg "https://XXXXX.execute -api.us-east-1.amazonaws.com / prod

Когда я публикую функцию, используя приведенный выше curl, я получаю {" message ":" ВнутреннийОшибка сервера "}

Я ожидаю" значение "как вывод (как в коде), потому что мне нужно, чтобы этот вывод json был загружен в другой API.

Этоimage - это журнал наблюдения за облаком для лямбда-вызова

, это набор ответов интеграции для шлюза API. Я попытался с пустым шаблоном сопоставления, а также для приложения / JSON. Не повезло

это ответ метода. поддерживаемое приложение / JSON пусто

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