[英]how to add the trigger s3 bucket to lambda function dynamically(python boto3 API)
如何使用boto3将触发器s3存储桶添加到lambda函数中,然后我想将该lambda函数附加到使用编程方式(boto3)动态创建的s3存储桶中
我遵循的三个步骤1)使用boto3使用add_permission API连接到aws lambda 2)还应用了get_policy 3)使用boto资源连接到S3以配置BucketNotification API,输入LambdaFunctionConfigurations
This worked for me: 这为我工作:
client = boto3.client(
's3',
aws_access_key_id=AWSAccessKeyID,
aws_secret_access_key=AWSSecretAccessKey)
response = client.put_bucket_notification_configuration(
Bucket=bucketName,
NotificationConfiguration= {'LambdaFunctionConfigurations':[{'LambdaFunctionArn': '<MyLambdaFunctionARN>', 'Events': ['s3:ObjectCreated:*']}]})
The complete answer for this question with the source code is: 这个问题的完整答案和源代码是:
Functions to initiate at lambda client: 在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')
Function to initiate at the s3 bucket: 在s3存储桶上启动的功能:
response3 = s3.put_bucket_notification_configuration(
Bucket='put*your*bucket-name*here',
NotificationConfiguration= {'LambdaFunctionConfigurations':[{'LambdaFunctionArn': 'put*your*lambda*arn*here', 'Events': ['s3:ObjectCreated:*']}]})
Your s3 trigger will be attached to you lambda. 您的s3触发器将附加到您的lambda。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.