AWSCDK授予LambdaDynamoDBFullAccess

我有一个 lambda,我希望能够创建 dynamo db 表(不仅可以访问,还可以创建具有动态名称的表)。

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,
});


以上是AWSCDK授予LambdaDynamoDBFullAccess的全部内容。
THE END
分享
二维码
.

)">
< <上一篇
下一篇>>