Я понимаю, что это довольно новое, но я не вижу примеров ни на одном языке, как бы вы указали роль для лямбды, созданной с помощью AWS CDK.
Я пытался сделать это
const cdk = require('@aws-cdk/cdk');
const lambda = require('@aws-cdk/aws-lambda');
const iam = require('@aws-cdk/aws-iam');
const path = require('path');
class MyStack extends cdk.Stack {
constructor (parent, id, props) {
super(parent, id, props);
//
// Create a lambda...
const fn = new lambda.Function(this, 'MyFunction-cdktest', {
runtime: lambda.Runtime.NodeJS810,
handler: 'index.handler',
code: lambda.Code.directory( path.join( __dirname, 'lambda')),
role: iam.RoleName('lambda_basic_execution')
});
}
}
class MyApp extends cdk.App {
constructor (argv) {
super(argv);
new MyStack(this, 'hello-cdk');
}
}
console.log(new MyApp(process.argv).run());
, чтобы попытаться указать существующую роль IAM для функции, но это не является правильным синтаксисом.Я также был бы согласен (или, возможно, даже предпочел бы) генерировать пользовательскую роль на лету, специфичную для этой лямбды, но я также не видел примеров того, как это сделать.
Есть ли у кого-нибудь пониманиео том, как это сделать?