为AWS Lambda函数存储库的位置?

问题描述:

我是AWS Lambda函数的新手。我在AWS CLI中使用了一个脚本,以便在Node.js中创建一个aws函数。这个脚本有一个名为config.json的配置文件。在函数创建之后,我可以在Lambda AWS Console上看到代码,这是我的疑问。该代码包含以下行: var config = require('./ config.json'); 所以,这个“./config.json”文件实际存储在哪里。我可以在部署lambda函数后编辑config.json的内容吗? 在此先感谢。为AWS Lambda函数存储库的位置?

那么,这个./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'文件的压缩部署包。 –

将您的文件放入环境变量LAMBDA_TASK_ROOT中指定的目录中。您可以通过nodejs将其读取为process.env.LAMBDA_TASK_ROOT

您部署的代码(包括config.json文件)是只读的,但如果您确实希望修改服务器上的文件,则可以在/tmp下执行此操作。请注意,这些更改仅适用于单个容器,其生命周期(4分30秒 - 4小时)。默认情况下,Lambda将在0到100个容器之间自动缩放。

全局变量也在调用中保留,所以如果您将config.json读入全局变量,然后修改该变量,这些更改将持续存在于底层容器的整个生命周期中。例如,这可以用于缓存跨调用的信息。