AWS CDK "staging.relativeStagedPath is not a function" 当 运行 cdk 合成器
AWS CDK "staging.relativeStagedPath is not a function" when running cdk synth
我正在为一些 lambda 和网关构建一个 cdk 脚本。我正忙着收拾行李,但收到错误 staging.relativeStagedPath is not a function
.
设置它的代码是这样的,特别是 Code.from_asset 行。
self.sqlalchemy_layer = LayerVersion(
self,
"Sqlalchemy-Lambda-Layer",
compatible_runtimes=[Runtime.PYTHON_3_8],
code=Code.from_asset("./src/layers/sqlalchemy-layer.zip"),
)
我确认代码确实存在,如果我弄乱图层的位置,我会得到一个 'file not found error'。
我还确认 from_asset 函数确实接受了一个指向 zip 文件的字符串。
def from_asset(
cls,
path: builtins.str,
*,
...
) -> "AssetCode":
"""Loads the function code from a local disk path.
:param path: Either a directory with the Lambda code bundle or a .zip file.
将代码更改为指向捆绑代码而不是 zip 的目录会出现同样的问题。
有谁知道我为什么会收到这个错误?
我设法“解决”了这个问题。我将我的所有代码一点一点地复制到之前设置的 CDK 测试环境中,希望其中一行能告诉我系统哪里出了问题,或者至少能指导我。然而,由于一切都在继续工作,我决定从头开始重建一个新的 CDK,然后将我的 lambda 和层复制到部署目录。而这一次,一切正常。所以我不知道出了什么问题,但我很高兴重建解决了我的问题。
我一直在为这个 jsii 错误以及另一个 jsii 错误而苦苦挣扎。终于有了适合我的解决方法。
解决方法 1: 将 site-packages 中的 jsii 1.14.x 发行版替换为 1.12 或 1.13 发行版。将 1.14 换成 1.12 或 1.13 后,错误停止。
如果您使用 Windows 到 运行 CDK,则 AWS CDK 组记录的 jsii 中存在错误。我向 aws-cdk 报告了它。他们重现了这个错误并在 nodejs 上创建了一个错误报告。此错误报告具有指向其他错误报告的链接。 https://github.com/aws/aws-cdk/issues/11314
解决方法 2: 将开发环境从 Windows 移到 linux 或 mac
我的相关 Whosebug 问题:Returns JSII error when attempting to create empty stack with python AWS CDK
我正在为一些 lambda 和网关构建一个 cdk 脚本。我正忙着收拾行李,但收到错误 staging.relativeStagedPath is not a function
.
设置它的代码是这样的,特别是 Code.from_asset 行。
self.sqlalchemy_layer = LayerVersion(
self,
"Sqlalchemy-Lambda-Layer",
compatible_runtimes=[Runtime.PYTHON_3_8],
code=Code.from_asset("./src/layers/sqlalchemy-layer.zip"),
)
我确认代码确实存在,如果我弄乱图层的位置,我会得到一个 'file not found error'。
我还确认 from_asset 函数确实接受了一个指向 zip 文件的字符串。
def from_asset(
cls,
path: builtins.str,
*,
...
) -> "AssetCode":
"""Loads the function code from a local disk path.
:param path: Either a directory with the Lambda code bundle or a .zip file.
将代码更改为指向捆绑代码而不是 zip 的目录会出现同样的问题。
有谁知道我为什么会收到这个错误?
我设法“解决”了这个问题。我将我的所有代码一点一点地复制到之前设置的 CDK 测试环境中,希望其中一行能告诉我系统哪里出了问题,或者至少能指导我。然而,由于一切都在继续工作,我决定从头开始重建一个新的 CDK,然后将我的 lambda 和层复制到部署目录。而这一次,一切正常。所以我不知道出了什么问题,但我很高兴重建解决了我的问题。
我一直在为这个 jsii 错误以及另一个 jsii 错误而苦苦挣扎。终于有了适合我的解决方法。
解决方法 1: 将 site-packages 中的 jsii 1.14.x 发行版替换为 1.12 或 1.13 发行版。将 1.14 换成 1.12 或 1.13 后,错误停止。
如果您使用 Windows 到 运行 CDK,则 AWS CDK 组记录的 jsii 中存在错误。我向 aws-cdk 报告了它。他们重现了这个错误并在 nodejs 上创建了一个错误报告。此错误报告具有指向其他错误报告的链接。 https://github.com/aws/aws-cdk/issues/11314
解决方法 2: 将开发环境从 Windows 移到 linux 或 mac
我的相关 Whosebug 问题:Returns JSII error when attempting to create empty stack with python AWS CDK