【发布时间】:2019-05-31 12:49:34
【问题描述】:
如果我尝试使用 boto3 Lambda create_function() 创建 Lambda 函数,并尝试通过 Layers=['string'] 参数包含层,我会收到以下错误消息:
Unknown parameter in input: "Layers", must be one of: FunctionName, Runtime, Role, Handler, Code, Description, Timeout, MemorySize, Publish, VpcConfig, DeadLetterConfig, Environment, KMSKeyArn, TracingConfig, Tags
...有什么想法吗? The documentation 建议这应该可行,但这里显然有些问题。注意:update_function_configuration() 中的“图层”也有类似的问题。
我的猜测是 AWS Lambda 控制台使用的 boto3 版本尚未更新/刷新以支持层。因为当我在具有相当新版本的 boto3 的机器上本地运行相同的代码时,它运行没有任何问题。我已经尝试在 AWS 控制台中使用列出的 3.6 和 3.7 的 Python 运行时,但都不起作用。这些运行时的 boto3 版本分别为 1.7.74 和 1.9.42。但是我的本地机器有 1.9.59。所以也许 Lambda 层的添加发生在 1.9.42 和 1.9.59 之间。
【问题讨论】:
-
你的直觉可能是正确的。它甚至无法识别“图层”参数。