簡體   English   中英

如何將觸發器s3存儲桶動態添加到lambda函數(python boto3 API)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM