我正在使用Java中的AWS Lambda/DynamoDb,並且希望將HTML模板存儲到Dynamo數據庫以用於郵件發送。 我的問題陳述: 我必須使用HTML模板向最終用戶發送郵件。在NoSQL DB中存儲HTML模板
解決方案,我實現:
解決方案1:存儲模板在S3中下載模板,改變佔位並郵寄。 問題與解決方案 - >當我在我的本地系統中測試這一切工作正常,但我上傳到lamda然後執行該功能後,它不起作用。
我收到以下錯誤信息: -
java.io.FileNotFoundException: 1.html (Permission denied)
java.io.FileNotFoundException: 1.html (Permission denied)
我的代碼 -
String bucketName = "abc";
String key = "xyz/1.html";
String fileName = "1.html";
ObjectMetadata s3object = s3Client.getObject(new GetObjectRequest(
bucketName, key), new File(fileName));
美中不足的是,這個確切的腳本在我的本地機器的工作原理,所以我敢肯定,鍵和bucketname匹配到正確的文件。
解決方案2: 在Dynamodb中存儲html模板,並在需要時替換佔位符,然後發送郵件。 由於Dynamo db是關鍵值db,因此不允許使用雙引號。所以我需要逃避它們。我可以通過轉義模板的雙引號來保存模板,但是那時我需要從db中取回它們,然後再次刪除所有轉義序列。 ?這是一個正確的過程,如果是的話,那麼如何實現這一目標?
所以我的問題是:
- 如何實現的解決方案1.
- 是否有任何API或其他方式來第一回避然後刪除HTML模板中的逃逸?
- 有沒有更好的方法來解決我的問題案例。
你有(http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html)爲您的lambda表達式正確的[權限] – mkobit
是@mkobit。我已經從你提供的鏈接中進行驗證。 –