[英]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
這為我工作:
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:*']}]})
這個問題的完整答案和源代碼是:
在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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.