Поток символов NUL после успешного вызова AWS Lambda sam вызывает локальную команду - PullRequest
0 голосов
/ 10 ноября 2019

Я использую AWS с SAM CLI для развертывания и тестирования лямбда-функций AWS, написанных на dotnetcore2.1.

Запуск базового helloworld:

sam build
sam local invoke HelloWorldFunction -e .\events\event.json > output.txt

Сам терминал выдаетyou:

Invoking HelloWorld::HelloWorld.Function::FunctionHandler (dotnetcore2.1)
2019-11-10 10:38:57 Found credentials in shared credentials file: ~/.aws/loginusercredentials

Fetching lambci/lambda:dotnetcore2.1 Docker container image......
Mounting C:\Users\Dim\Dropbox\Projects\Active\2019-11-02 VSCode\ServerLessAPI\.aws-sam\build\HelloWorldFunction as /var/task:ro,delegated inside runtime container
START RequestId: 3e241658-9574-4580-896a-70e0ab18816e Version: $LATEST
END  RequestId: 3e241658-9574-4580-896a-70e0ab18816e
REPORT RequestId 3e241658-9574-4580-896a-70e0ab18816e   Duration: 2033 ms       Billed Duration: 2100 ms        Memory Size 128 MB      Max Memory Used: 45 MB

output.txt должен дать вам:

{"statusCode":200,"headers":{"Content-Type":"application/json"},"multiValueHeaders":null,"body":"{\"message\":\"hello world\",\"location\":\"119.214.83.148\"}","isBase64Encoded":false}

Однако с сегодняшнего дня в output.txt я получаю следующее:

{"statusCode":200,"headers":{"Content-Type":"application/json"},"multiValueHeaders":null,"body":"{\"message\":\"hello world\",\"location\":\"119.214.83.148\"}","isBase64Encoded":false}NULNULNULNULNULNULNUL...

Сгенерированный текстовый файл имеет размер ~ 12 МБ и содержит ~ 6-7 миллионов столбцов с правильным выводом, за которым следует множество NUL. Когда я тестирую функцию без отправки в файл output.txt, интерфейс командной строки AWS SAM сообщает об этом как об истечении времени ожидания, несмотря на то, что изначально был получен правильный ответ, только многие NUL разрушают его.

Загрузка точно такой же функции в AWS Lambda работает без проблем, но, очевидно, это гораздо более медленный способ разработки вещей (не говоря уже о том, чтобы не выполнять отладку). Я пробовал это на 3 разных функциях AWS Lambda и получаю одинаковые результаты, поэтому возникает проблема с AWS SAM или Docker.

Другая информация - Версия для Windows: версия 10.0.18362Build 18362 - Версия Docker Desktop: Стабильный: 2.1.0.4 (39773) - SAM CLI, версия 0.30.0 - aws-cli / 1.16.272 Python / 3.6.4 Windows / 10 botocore / 1.13.8

Я не уверен, что смогу обеспечить пошаговое воспроизведение в этом случае, так как код не изменился, это что-то с моей средой, которую я не могу точно определить. Со вчерашнего дня, когда локальные вызовы работали нормально, я не возился ни с какими настройками.

...