Используя boto3, вы можете добавить отображение источника событий в функцию Lambda следующим образом:
import boto3
client = boto3.client('lambda', region_name='us-east-1')
response = client.create_event_source_mapping(
EventSourceArn='arn:aws:sqs:us-east-1:999999999999:myfifo',
FunctionName='my-lambda-function',
Enabled=True,
BatchSize=10
)
Измените ARN очереди SQS и имя функции Lambda в соответствии с вашим.
Обратите внимание, что мой пример показывает BatchSize=10
. Это важно, потому что это означает, что SQS может объединять несколько сообщений и отправлять их в Lambda за один вызов. Обычно это происходит только в том случае, если несколько сообщений были отправлены в SQS примерно в одно и то же время. Ваша лямбда-функция в этом случае получит массив данных о событиях. Вы можете изменить это при необходимости.