我正在使用 AWS CDK 创建我的云堆栈,我发现以下代码正在生成错误“ this.combinedGrant is not a function ”,但我找不到对它的任何引用:
let authFunctions = [
{
name: 'user-registration',
handler: 'index.register',
code: './handlers/user-registration',
loginAccess: loginTable.grantFullAccess,
otpAccess: otpTable.grantWriteData
},
...
for (let i in authFunctions) {
let definition = authFunctions[i];
let func = new Function(this, `${definition.name}-function`, {
runtime: Runtime.NODEJS_12_X,
handler: definition.handler,
code: Code.asset(definition.code),
environment: {
LOGIN_TABLE_NAME: loginTable.tableName,
OTP_TABLE_NAME: otpTable.tableName,
MAILGUN_DOMAIN: credentials.mailgun.domain,
MAILGUN_FROM: credentials.mailgun.from,
MAILGUN_API_KEY: credentials.mailgun.api_key,
JWT_SECRET: definition.hasJWTSecret ? "secret-placeholder" : ""
},
layers: [authLayer, utilityLayer],
timeout: Duration.seconds(5)
});
definition.loginAccess(func);
definition.otpAccess(func);
let api = new RestApi(this, `${definition.name}-api`);
api.root.addMethod('POST', new LambdaIntegration(func));
}