簡體   English   中英

AWS CDK - 添加 s3 觸發器以調用 lambda

[英]AWS CDK - add an s3 trigger to invoke a lambda

我正在嘗試使用 s3 觸發器構建 lambda function 拋出 CDK 部署,有人知道是否可以以編程方式觸發 CDK 代碼?

我找到了這些鏈接:

  1. 查找 S3 存儲桶並添加觸發器以調用 lambda
  2. 使用CDK,是否可以通過lambda觸發部署堆棧

但它們是幾個月前的,我想知道是否有任何更新

如果您想在文件上傳到 S3 后觸發 lambda,您有兩種方法:

S3 事件通知:

這是 S3 特定的功能,支持 lambda 作為目標以及 SQS 和 SNS。 您可以在此處找到更多信息: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

雲軌跡:

CloudTrail 記錄了您帳戶中的幾乎所有事件,您可以根據需要對它們做出反應。

  1. 創建一個桶
  2. 創建一條線索,您可能希望 select 只寫,以減少寫入的內容量
  3. 使用 addS3EventSelector 將存儲桶添加到跟蹤
  4. 添加你的目標
        uploadBucket.onCloudTrailWriteObject('cwEvent', {
            target: new targets.LambdaFunction()
        })

這將創建一個 CloudWatch 事件。

在第一步,您可能還需要將其記錄到雲監視日志中,我不確定了:

        const trail = new cloudtrail.Trail(this, 'CloudTrail', {
            sendToCloudWatchLogs: true,
            managementEvents: cloudtrail.ReadWriteType.WRITE_ONLY,
        });

我更喜歡版本二,因為 CloudWatch Event 支持的目標比 SQS、SNS 和 Lambda 多得多。 例如,我用它來觸發 Step Function。

Docs: https://docs.aws.amazon.com/cdk/api/latest/docs/aws-cloudtrail-readme.html https://docs.aws.amazon.com/cdk/api/latest/docs/aws -s3-readme.html#bucket-notifications

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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