簡體   English   中英

如何在 Lambda function 中獲取 S3 觸發器詳細信息?

[英]How to get S3 trigger details inside Lambda function?

我創建了一個使用 S3 PutObject 事件觸發的 lambda function。 我的 S3 存儲桶看起來像這樣:

s3://my-bucket-name/directory_1/...
s3://my-bucket-name/directory_2/...
s3://my-bucket-name/directory_3/...

另一個應用程序正在創建像 directory_1 這樣的文件夾。 在此目錄中創建數據后,應用程序還會創建一個名為 _SUCCESS 的文件。 所以其中一個目錄如下所示:

s3://my-bucket-name/directory_1/data.txt
s3://my-bucket-name/directory_1/_SUCCESS

現在我想在創建這個 _SUCCESS 文件后立即觸發我的 lambda function。 所以我在lambda中添加了S3的觸發器如下:

Event type: ObjectCreatedByPut
Bucket: my-bucket-name
Prefix: directory
Suffix: _SUCCESS

目前,我可以看到,只要在任何目錄中創建新的 _SUCCESS 文件,就會正確觸發 lambda function 。 但我也想知道觸發這個 function 的 _SUCCESS 文件的確切鍵是什么。 這個怎么做?

例如,如果 s3://my-bucket-name/directory_1/_SUCCESS 觸發了我的 lambda,我應該能夠在此 lambda ZC1C425268E68385D1ABZA79 中獲取此文件的完整路徑。

S3 通知事件結構在此處詳細描述。

例如從事件中獲取存儲桶名稱(假設事件中有 1 條記錄):

bucket_name = event['Records'][0]['s3']['bucket']['name']

同樣的關鍵:

key_name = event['Records'][0]['s3']['object']['key']

暫無
暫無

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

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