![](/img/trans.png)
[英]I want the list and details of a s3 trigger mapped with a lambda function
[英]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.