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

时间:2017-02-14 18:39:14

标签: amazon-web-services aws-lambda

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

2 个答案:

答案 0 :(得分:4)

  

那么,这个./config.json文件实际存储在哪里?

它应存储在与Lambda处理函数相同的目录中。它们应捆绑在一个zip文件中并部署到AWS。如果你没有以那种方式部署它,那么该文件目前还不存在。

如果您的Lambda函数包含多个文件,则必须捆绑文件并deploy it to AWS as a zip file

您无法通过AWS Lambda Web控制台编辑外部库/文件的来源。您只能通过Web控制台编辑Lambda函数处理程序的源。

答案 1 :(得分:1)

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

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

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