[英]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.