[英]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_file
但putObject
應該也可以正常工作:
s3client.putobject(por, ExtraArgs={"Metadata":metadata})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.