An Active MQ message broker can be used as an event source for AWS Lambda.
In the following example, we specify that the compute
function should be triggered whenever there are new messages available to consume from defined ActiveMQ queue
.
In order to configure activemq
event, you have to provide three required properties:
basicAuthArn
, which is a AWS Secrets Manager ARN for credentials required to do basic auth to allow Lambda to connect to your message brokerqueue
to consume messages from.arn
arn for your Amazon MQ message brokerfunctions:
compute:
handler: handler.compute
events:
- activemq:
arn: arn:aws:mq:us-east-1:0000:broker:ExampleMQBroker:b-xxx-xxx
queue: queue-name
basicAuthArn: arn:aws:secretsmanager:us-east-1:01234567890:secret:MySecret
The activemq
event also supports enabled
parameter, which is used to control if the event source mapping is active. Setting it to false
will pause polling for and processing new messages.
In the following example, we specify that the compute
function's activemq
event should be disabled.
functions:
compute:
handler: handler.compute
events:
- activemq:
arn: arn:aws:mq:us-east-1:0000:broker:ExampleMQBroker:b-xxx-xxx
queue: queue-name
enabled: false
basicAuthArn: arn:aws:secretsmanager:us-east-1:01234567890:secret:MySecret
You can also specify batchSize
of number of items to retrieve in a single batch. If not specified, this will default to 100
.
functions:
compute:
handler: handler.compute
events:
- activemq:
arn: arn:aws:mq:us-east-1:0000:broker:ExampleMQBroker:b-xxx-xxx
queue: queue-name
batchSize: 5000
basicAuthArn: arn:aws:secretsmanager:us-east-1:01234567890:secret:MySecret
The Serverless Framework will automatically configure the most minimal set of IAM permissions for you. However you can still add additional permissions if you need to. Read the official AWS documentation for more information about IAM Permissions for Amazon MQ events.
Product