AWS CDK Grant Lambda DynamoDB FullAccess



我有一个lambda,我希望它能够创建dynamo数据库表(不仅访问,还创建具有动态名称的表(。

const lambdaA = new lambda.Function(this, 'lambda-a', {
functionName: 'lambda-a',
memorySize: 256,
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler',
code: lambda.Code.fromAsset(path.join(require.resolve('/lambda-a'), '..')),
});

我如何使用AWS CDK做到这一点?

我想我需要以某种方式将策略AmazonDynamoDBFullAccess(或其他允许创建表的策略(添加到lambda的执行角色中。

可以执行类似的操作

const lambdaARole = new iam.Role(this, 'LambdaRole', {
assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
});
lambdaARole.addManagedPolicy(
ManagedPolicy.fromAwsManagedPolicyName('AmazonDynamoDBFullAccess')
);
const lambdaA = new lambda.Function(this, 'lambda-a', {
functionName: 'lambda-a',
memorySize: 256,
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler',
code: lambda.Code.fromAsset(path.join(require.resolve('/lambda-a'), '..')),
role: lambdaARole,
});

最新更新