столкнулся.
У меня была использована последняя версия библиотеки boto3 в lambda функции, работающей на AWS (устанавливается при каждом деплое последняя версия, в requirements можно даже не прописывать) и последняя версия aws-cli в пайплайне в gitlab (устанавливается при каждом запуске). В последнее время (возможно с сегодняшним релизом botocore) перестали уходить сообщения в очередь в Yandex Cloud, выдает ошибку:
ClientError: An error occurred (400) when calling the SendMessage operation: <?xml version="1.0" encoding="UTF-8"?>
<ErrorResponse><Error><Message>Action param was not found.</Message><Code>MissingAction</Code></Error><RequestId>f37bc904-8ba8cff8-982d9f31-1a0bce5-36d65473855d0ae44c748c15e75706ec</RequestId></ErrorResponse>
Такое ощущение, что новая библиотека botocore по-другому готовит http запрос и неверно отправляет Action параметр
Принудительно установил старые версии (botocore==1.31.78, boto3==1.28.78, awscli==1.29.78), все заработало.
Пожалуйста, обратите на это внимание.
В Python принято пинить версии зависимостей.
В AWS Lambda указан список библиотек, поддерживаемых нативно и что вы их можете даже не указывать в requirements. По моему опыту, функция получается более легковесной, если не устанавливать библиотеку полностью. Но там будет последняя версия.
Кто вам такое сказал? Вы понимаете что если не пинить версии вы попадаете на конфликты и в депрессии хел
Обсуждают сегодня