[英]AWS CDK stack.regionalFact is not a function
我正在为 typescript 使用 AWS CDK。 我的堆栈只包含一个角色
export class ModelServingStack extends BaseStack {
constructor(scope: cdk.Construct, props: StackCommonProps, stackConfig: any) {
const role: iam.IRole = this.createIamRole(`ModelEndpoint-Role`);
}
private createIamRole(roleBaseName: string): iam.IRole {
return new iam.Role(this, "MyRole", {
assumedBy: new iam.ServicePrincipal("sns.amazonaws.com"),
});
}
}
当我运行命令部署cdk deploy
时,出现以下错误:
/workspaces/Zeus/node_modules/@aws-cdk/aws-iam/lib/principals.ts:540
return stack.regionalFact(
^
TypeError: Resolution error: Resolution error: Resolution error: Resolution error: stack.regionalFact is not a function.
Object creation stack:
at stack traces disabled.
Object creation stack:
at stack traces disabled..
at ServicePrincipalToken.resolve (/workspaces/Zeus/node_modules/@aws-cdk/aws-iam/lib/principals.ts:540:18)
at RememberingTokenResolver.resolveToken (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/resolvable.ts:80:24)
at RememberingTokenResolver.resolveToken (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:286:18)
at resolve (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:212:51)
at Object.resolve [as mapToken] (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:119:77)
at TokenizedStringFragments.mapTokens (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/string-fragments.ts:65:33)
at RememberingTokenResolver.resolveString (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/resolvable.ts:99:22)
at RememberingTokenResolver.resolveString (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:290:23)
at resolve (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:170:48)
at Object.resolve (/workspaces/Zeus/node_modules/@aws-cdk/core/lib/private/resolve.ts:119:77)
任何想法? 先感谢您。
一个问题是您的构造函数缺少super(scope, id, props);
称呼。
我还没有推理this
在你的角色工厂中是否会引起恶作剧。 但无论如何,在 Stack 构造函数中定义您的构造是惯用的 CDK ,其中this
肯定会引用您的Stack
实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.