【问题标题】:Where libraries are stored for AWS Lambda Functions?AWS Lambda 函数的库存储在哪里?
【发布时间】:2017-07-03 04:40:54
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

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

    它应该与您的 Lambda 处理程序函数存储在同一目录中。它们应该捆绑在一个 zip 文件中并部署到 AWS。如果您没有以这种方式部署它,则该文件当前不存在。

    如果您的 Lambda 函数包含多个文件,则您必须将您的文件和 deploy it to AWS as a zip file 捆绑在一起。

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

    【讨论】:

    • 所以,在这种情况下,我应该在本地编辑 config.json,然后重新部署该函数。我说的对吗?
    • 是的,如果您将函数部署为包含config.json 文件的压缩部署包。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2022-10-13
      • 1970-01-01
      • 2019-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多