AWS Lambda可以自行修改json文件吗?

时间:2018-11-30 23:29:40

标签: amazon-web-services aws-lambda

我有一个AWS Lambda函数。在.json文件上有一个数组。现在的事情是,我想修改该.json,但是在运行之后,该json与运行之前完全相同。 我放在那里的日志让我认为它实际上已被修改,但是,我想知道lambda是否在运行前回到其定义。 我需要在json中保存的信息将始终只是少量设置,但是这些设置将很容易修改,而无需进行部署,并且会避免使用db或s3存储桶。

关于, 丹尼尔

3 个答案:

答案 0 :(得分:2)

您将无法执行此操作。 Lambda存储部署程序包(即您用于部署的.zip.jar文件),并将该程序包用于它启动的下一个Lambda。这款新的Lambda可能是,也可能不是刚刚运行的。

最简单的方法是将其存储在S3存储桶中。请注意,尽管就像在多线程编程中一样,您可能同时运行多个进程(Lambda实例),所以需要注意资源争用。

答案 1 :(得分:1)

AWS Lambda图像是不可变的。您需要部署新的状态文件(带有数组的json)或为其使用某种存储。

答案 2 :(得分:1)

我希望您考虑Lambda函数的以下行为:

假设您向上旋转了一个lambda, 然后您向lambda发送第二条消息。

如果您在发送第二条消息之前先完成lambda

相同的lambda 将运行该消息。

所以这就是为什么您看到它更改了文件的原因,它位于具有相同文件的同一实例上。

我建议将json加载到内存中, 而不是直接更改文件。

那将解决您的问题。