Я использую AWS cdk на Python и развертываю образ Docker на Lambda. Я новичок в Docker и AWS, поэтому заранее извиняюсь за ошибки.
После запуска моего образа Docker и отправки запроса POST с помощью POSTMAN ошибка не возникает, если данные, которые я отправляю запрос представляет собой объект JSON. Однако, когда я переключаюсь на данные формы, независимо от того, какие данные я ввожу, я получаю сообщение об ошибке:
Код: Выделить всё
{
"errorMessage": "Unable to unmarshal input: Expecting value: line 1 column 1 (char 0)",
"errorType": "Runtime.UnmarshalError",
"requestId": "2b09ea5b-a99c-48ab-abcb-29c63fd5495d",
"stackTrace": []
}
(Примечание: такие вещи Dockerfile hsa, как mesa-libGL, для обработки некоторых зависимостей)
< h3>Код обработчика лямбда
Код: Выделить всё
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": "Success!"
}
Код: Выделить всё
FROM public.ecr.aws/lambda/python:3.11
COPY requirements.txt ${LAMBDA_TASK_ROOT}
RUN pip install -r requirements.txt
RUN yum install -y mesa-libGL
COPY src/* ${LAMBDA_TASK_ROOT}
CMD [ "lambda_function.segmentation_lambda_handler" ]
Снимок экрана POSTMAN
Я пробовал различные способы, которые нашел в Интернете, для обработки входных данных, таких как base64, но не могу избавиться от этой ошибки.
Я даже удалил весь код из моей функции лямбда_handler и только что вернул образец вывода в формате JSON. Та же ошибка сохраняется.
Большинство онлайн-методов предполагают, что ошибка возникает из-за попытки напрямую прочитать значение события, а не преобразования в json или использования base64.decode. Я попробовал их, но безуспешно; более того, я даже не использую событие в упомянутом мной коде. Я просто возвращаю фиктивный результат, даже не касаясь «события». Поэтому я понятия не имею, почему ошибка сохраняется.
Подробнее здесь: https://stackoverflow.com/questions/787 ... ng-postman