簡體   English   中英

將文件上傳到S3並觸發Lambda的最佳實踐

[英]best practice to upload file to S3 and trigger a lambda

我想使用AWS S3和Lambda實施以下方案。

用戶從移動設備拍攝照片,添加描述,位置和更多屬性作為單獨的元數據。 使用元數據作為文件內部元數據將圖像文件上傳到S3。 根據鏈接,我可以通過使用“ x-amz-meta-”作為鍵將一個鍵值對添加到ObjectMetadata來實現。

我設法在S3存儲桶中每次創建文件時都調用lambda,但是在Lambda的調用方法的S3Event中,我沒有得到放置在ObjectMetadata中的元數據。

上傳過程的代碼示例:

PutObjectRequest por = new PutObjectRequest(BUCKET_NAME, KEY_NAME, file);
ObjectMetadata metadata = new ObjectMetadata();
metadata.addUserMetadata("x-amz-meta-xxxxx", "test123");
por.setMetadata(metadata);
s3client.putObject(por);

我希望我提供了足夠的信息

AWS建議將文件存儲在S3上,將文件的元數據存儲在DynamoDB上。 通過這種方法,可以輕松且經濟高效地執行元數據搜索。 請記住,根據S3定價模型,您需要為每個API調用付費。

您可以在上傳期間添加元數據。 我使用了upload_fileputObject應該也可以正常工作:

s3client.putobject(por, ExtraArgs={"Metadata":metadata})

暫無
暫無

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

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