Я создаю лямбды из AWS SAM, в основном они работают хорошо, но я не уверен, как разрешить запуск этих лямбд с помощью SQS. Всякий раз, когда я создаю / упаковываю / развертываю, я пытаюсь вручную добавить триггер SQS из консоли и получаю следующую ошибку:
An error occurred when creating the trigger: The provided execution role does not have permissions to call ReceiveMessage on SQS (Service: AWSLambda; Status Code: 400; Error Code: InvalidParameterValueException
Я полностью понимаю, что было бы идеально создать SQS с SAM, однако я не могу найти достойных руководств, в частности о том, как создавать файлы yaml для развертывания с помощью. Мне было интересно, означает ли эта ошибка, что мне нужно добавить политику в template.yaml перед сборкой / пакетом / развертыванием. Поэтому я добавил в yaml следующие политики в разделе Ресурсы: MyFunction: Properties: policy:
- SQSSendMessagePolicy:
QueueName: "*"
- SQSPollerPolicy:
QueueName: "*"
Я получил их от здесь, но я не вижу правила «получать сообщение от SQS», я не знаю, где еще его получить? Или даже проблема в этом?
Я также попытался добавить в yaml следующее:
Events:
MySQSEvent:
Type: SQS
Properties:
Queue:
!GetAtt arn:aws:sqs:eu-west-1:my_arn.my_queue
BatchSize: 10
Однако это дает мне следующую ошибку при попытке развернуть:
Template error: instance of Fn::GetAtt references undefined resource arn:aws:cloudformation:eu-west-1:my_arn
Я попытался найти руководство по настройке SQS с помощью облачной информации, но достойные руководства кажутся очень неуловимыми. Те, что есть вокруг, кажутся слишком многословными и сложными, что делает их непригодными для новых пользователей.
Все, что я хочу добиться, - это передать список событий в SQS (возможно, с лямбда-выражением), который затем поставит в очередь еще одну лямбду для получения этих событий партиями по 10 (всего около 20 000). Мне нужно иметь возможность делать это с помощью SAM - единственное предостережение. Я ценю, что создание лямбда-выражений на консоли значительно упростит это, но это не подходит для управления версиями.
Пока я смотрел на следующее и не вижу очевидного решения, информация кажется не совсем правильной для моего варианта использования; SO, вопрос 1, СО вопрос 2, учебное пособие по aws alter stack , шаблоны облачной информации AWS, руководство по dzone, aws docs.
Был бы очень признателен за любые указатели / помощь / практические руководства / полные рабочие решения?
Большое спасибо