2016-03-02 149 views
2

我想創建一個Python Lambda函數來上傳s3圖像並創建它們的縮略圖版本。AWS Lambda與S3一起工作

我有權限問題,我無法訪問我的存儲桶。我知道我需要創建存儲桶策略。我不明白我可以制定一個適用於執行縮略圖流程的lambda請求的策略嗎?

+0

您需要提供更多信息。你試過什麼了?它是如何失敗的?你的代碼是什麼樣的? – garnaat

+1

而不是使用存儲桶策略,只需爲Lambda函數的IAM角色提供訪問S3存儲桶所需的權限即可。 –

回答

4

這聽起來像你要做到以下幾點:

  1. 消防拉姆達每當東西上傳到你的水桶
  2. 從桶中讀取一個文件
  3. 寫(縮略圖)文件回鬥

你需要3個不同的權限來做到這一點:

  1. S3服務將需要調用您的lambda函數的權限(當您通過AWS Lambda控制檯添加S3事件源時,會爲您完成此操作)。
  2. lambda執行角色(在Lambda Console的「配置」選項卡上選擇的角色)將需要讀/寫訪問權來調用S3。您可以通過從下拉列表中選擇IAM策略,然後選擇您需要的S3權限,在policy generator上爲此生成策略。
  3. 爲了增加安全性,您可以在S3上設置存儲桶策略,只允許lambda函數訪問它。您也可以從policy generator以及通過選擇S3策略來生成。然後,您將輸入lambda.amazonaws.com作爲校長。
+0

如果他在lambda函數的角色中定義權限,他是否也需要在桶策略中定義它? – Saeger