2017-02-14 51 views
2

我是AWS Lambda函數的新手。我在AWS CLI中使用了一個腳本,以便在Node.js中創建一個aws函數。這個腳本有一個名爲config.json的配置文件。在函數創建之後,我可以在Lambda AWS Console上看到代碼,這是我的疑問。該代碼包含以下行: var config = require('./ config.json'); 所以,這個「./config.json」文件實際存儲在哪裏。我可以在部署lambda函數後編輯config.json的內容嗎? 在此先感謝。爲AWS Lambda函數存儲庫的位置?

回答

4

那麼,這個./config.json文件實際存儲在哪裏?

應該存儲在同一個目錄作爲您的拉姆達處理函數。它們應該捆綁在一個zip文件中並部署到AWS。如果你沒有這樣部署,那麼該文件目前不存在。

如果您的Lambda函數由多個文件組成,您將不得不捆綁文件和deploy it to AWS as a zip file

您無法通過AWS Lambda Web控制檯編輯外部庫/文件的來源。您只能通過Web控制檯編輯Lambda函數處理程序的源代碼。

+0

因此,在這種情況下,我應該在本地編輯config.json,然後重新部署該功能。我對嗎 ? – blackjack

+0

是的,如果您將函數部署爲包含'config.json'文件的壓縮部署包。 –

1

將您的文件放入環境變量LAMBDA_TASK_ROOT中指定的目錄中。您可以通過nodejs將其讀取爲process.env.LAMBDA_TASK_ROOT

您部署的代碼(包括config.json文件)是隻讀的,但如果您確實希望修改服務器上的文件,則可以在/tmp下執行此操作。請注意,這些更改僅適用於單個容器,其生命週期(4分30秒 - 4小時)。默認情況下,Lambda將在0到100個容器之間自動縮放。

全局變量也在調用中保留,所以如果您將config.json讀入全局變量,然後修改該變量,這些更改將持續存在於底層容器的整個生命週期中。例如,這可以用於緩存跨調用的信息。