【发布时间】:2019-07-09 00:06:42
【问题描述】:
我有以下情况:
我在 serverless.yml 文件中设置了几个环境变量,例如:
ONE_CLIENT_SECRET=${ssm:/one/key_one~true}
ONE_CLIENT_PUBLIC=${ssm:/one/key_two~true}
ANOTHER_SERVICE_KEY=${ssm:/two/key_one~true}
ANOTHER_SERVICE_SECRET=${ssm:/two/key_two~true}
假设我有 10 个环境,当我尝试部署时,我收到以下错误:
An error occurred: SecureLambdaFunction - Lambda was unable to configure your environment variables because the environment variables you have provided exceeded the 4KB limit. String measured: JSON_WITH_MY_VARIABLES_HERE
所以我无法部署,我知道问题出在哪里,但我没有明确的解决方法,所以我的问题是:
1) 如何扩展 4Kb 限制?
2) 假设我的变量是使用 SSM 设置的,我使用 EC2 参数存储来保存它们。 (这与无服务器团队或了解该主题的人更相关)它在幕后如何工作?
- 当我运行sls deploy 时,它会获取值并包含在 .zip 文件中吗? (这就是我认为它所做的,我只是想澄清一下)还是在我执行 lambda 时它会获取值?我问是因为我去了 aws lambda 控制台,我可以看到那里设置了 em。
谢谢!
【问题讨论】:
-
警告:可能是愚蠢的评论 - 你可以菊花链 lambda 调用吗?
-
什么意思?我什至无法编译项目导致环境变量的大小。这基本上是问题所在,而不是处决
-
告诉你这可能是愚蠢的。现在只是进入 lambdas ......并假设您可以从外部来源获得所需的值。请原谅我的新手。
-
:D!一点也不笨:)
标签: serverless-framework serverless