以下是一个使用AWS SQS触发Python Lambda函数的示例代码:
首先,在AWS Lambda控制台上创建一个新的Lambda函数,并为其指定运行时为Python。然后,将以下代码复制粘贴到Lambda函数的代码编辑器中:
import boto3
import json
def lambda_handler(event, context):
# 获取SQS消息
sqs_message = event['Records'][0]['body']
print('Received SQS message: %s' % sqs_message)
# 在此处添加你的业务逻辑处理代码
# ...
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
然后,确保Lambda函数的权限配置中具有允许访问SQS的权限。在Lambda函数的执行角色中,添加一个具有以下策略的新的IAM权限策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage"
],
"Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:QUEUE_NAME"
}
]
}
请确保将REGION
、ACCOUNT_ID
和QUEUE_NAME
替换为你的实际值。
接下来,配置Lambda函数的触发器。在Lambda函数的配置页面中,单击“添加触发器”,然后选择“SQS”。选择你要用于触发Lambda函数的SQS队列,并设置任何其他所需的触发器选项。
最后,保存并部署Lambda函数。现在,当有新的消息发送到SQS队列时,Lambda函数将自动被触发,并处理该消息。
请注意,上述代码中的示例仅用于演示目的,你需要根据自己的业务需求自定义代码来处理接收到的SQS消息。