更新AWS Lambda配置的环境和不正确的验证

时间:2018-06-26 14:47:28

标签: amazon-web-services aws-lambda

我尝试使用updateFunctionConfiguration更新新的环境变量。

有一个代码:

awsLambda.updateFunctionConfiguration(
           new UpdateFunctionConfigurationRequest()
                   .withFunctionName(lambdaContext.getFunctionName())
                   .withEnvironment(environment)
        );

问题是:我必须创建环境对象,而不仅仅是将增量添加到现有对象中。

我本可以重新创建整个环境的地图并添加/更新所需的内容,但是我发现现有的env键值对不能存储到配置中。仅仅是因为它们没有通过验证。

参见此处:https://docs.aws.amazon.com/lambda/latest/dg/API_Environment.html

但是..我放了一个日志来分析它:

environment.addVariablesEntry(key1, value1);

它失败并显示:

  

检测到1个验证错误:“ environment.variables”处的值失败   满足约束:映射键必须满足约束:[成员必须   满足正则表达式模式:a-zA-Z +](服务:   AWSLambda;状态码:400;错误代码:ValidationException

我进行了此测试code

 System.getenv().forEach( (key1, value1) -> { ...

这是我在其中重新创建环境对象的地方

发现一些键实际上是值。

我给你举个例子:

/var/task -> LAMBDA_TASK_ROOT
/usr/local/bin:/usr/bin/:/bin -> PATH
1024 -> AWS_LAMBDA_FUNCTION_MEMORY_SIZE

因此,乳清尝试使用/ var / task作为密钥-失败。

问题为什么...键和值在某些环境中被翻转?

0 个答案:

没有答案