如何动态地将触发器s3存储桶添加到lambda函数(python boto3 API)

时间:2017-07-08 03:50:56

标签: python-2.7 amazon-web-services amazon-s3 aws-lambda aws-sdk

如何使用boto3将触发器s3存储桶添加到lambda函数,然后我希望将lambda函数附加到以编程方式动态创建s3存储桶(boto3)

2 个答案:

答案 0 :(得分:1)

我遵循的三个步骤 1)使用boto3连接到aws lambda,使用add_permission API 2)也应用了get_policy 3)用boto资源连接S3以配置BucketNotification API,放入LambdaFunctionConfigurations

答案 1 :(得分:0)

此问题连同源代码的完整答案是:

在lambda客户端启动的功能:

response1 = lambda1.add_permission(FunctionName='put*your*lambda*arn*here',
                               StatementId='response2-id-2',
                               Action='lambda:InvokeFunction',
                               Principal='s3.amazonaws.com',
                               SourceArn='put*your*s3*bucket*arn*here'
                              )
response2 = lambda1.get_policy(FunctionName='put*your*lambda*arn*here')

在s3存储桶上启动的功能:

response3 = s3.put_bucket_notification_configuration(
                            Bucket='put*your*bucket-name*here',
                            NotificationConfiguration= {'LambdaFunctionConfigurations':[{'LambdaFunctionArn': 'put*your*lambda*arn*here', 'Events': ['s3:ObjectCreated:*']}]})

您的s3触发器将附加到您的lambda。