簡體   English   中英

python cdk 在 s3 存儲桶上創建 lambda 觸發器

[英]python cdk to create lambda trigger on s3 bucket

您好我想在 s3 存儲桶上上傳新的 json 文件時在 lambda 函數上創建觸發器。 觸發規則是

使用 s3 觸發 Lambda 調用規則

**folder name** on which it will trigger is : input-files 
**file name**  ending with _processed.json OR 000.json 

我正在嘗試這個但不工作並且不確定文件結束的多個規則

trigger-_lambda.add_event_source(_aws_lambda_event_sources.S3EventSource(
            bucket,
              events=[
                  _s3.EventType.OBJECT_CREATED],
              filters=[
                  _s3.NotificationKeyFilter(
                      prefix="input",
                      suffix="_processed.json" , "000.json ")]
            ))

這是正確執行此操作的方法嗎? 任何幫助,將不勝感激

S3 不允許您在過濾器中定義多個后綴規則。

要解決此問題,您需要定義兩個單獨的事件源:

my_lambda.add_event_source(
    lambda_event_sources.S3EventSource(
        bucket,
        events=[s3.EventType.OBJECT_CREATED],
        filters=[
            s3.NotificationKeyFilter(
                prefix="input",
                suffix="_processed.json",
            ),

        ],
    )
)
my_lambda.add_event_source(
    lambda_event_sources.S3EventSource(
        bucket,
        events=[s3.EventType.OBJECT_CREATED],
        filters=[
            s3.NotificationKeyFilter(
                prefix="input",
                suffix="000.json",
            ),
        ],
    )
)

暫無
暫無

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

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