- 在AWS SNS 创建一个topic
- 创建一个lambda函数,
1)Triger 设置为刚才创建好的SNS topic;
2)写上自己的code;
3)修改配置General Configuration的timeout 时间,如10minut(防止因为程序超时报错);
4)在Layer里,add a layer,安装需要的python包
5)有需要可以修改concurrency数字,即,并发机器数 - 在本地发布sns 以启动lambda:
bucket = "your_bucket_name"
sns_response = my_sns.publish(
TopicArn="arn:aws:sns:us-west-2:194268877:FILE_PROCESSING",
Message= json.dumps({
"bucket":bucket})
)
print("Response: {}".format(response))
- CloudWatch --> Log groups 查看lambda 相关日志
- 设置DLQ,查看失败lambda函数线管的SNS消息
1)创建SQS queue;
2)SNS创建新subscription,Potocal为Lambda,endPoint为Lambda函数arn;
3)修改这个subscription,找到retrive policy(dead-letter queue)-optional, 选中Enable,并粘贴刚才创建的SQS queue arn,用{}括起来。