amazon-web-services - AWS CDK 授予 Lambda DynamoDB FullAccess
问题描述
我有一个 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,
});
推荐阅读
- java - Spring Boot Application.properties 没有自动完成建议
- python - 在公司受限电子表格上使用 google sheet api 检索 google sheet 值
- regex - 从 Powershell 中的连接字符串获取数据库名称的最优雅方法是什么?
- clickhouse - ClickHouse 是否支持静态加密?
- ruby-on-rails - 作为微服务的弹性搜索实现
- java - 在 from.as 中的发送邮件中添加标题,如“堆栈溢出
" - google-apps-script - 复制粘贴保持原始格式 | 用于 GSheets 的 Google Apps 脚本
- html - Bootstrap 4:我希望我的列占据容器的整个宽度
- python - 什么是 Vaex 函数将字符串解析为 datetime64,相当于 pandas to_datetime,允许自定义格式?
- javascript - 有没有办法订阅 window.getSelection 中的更改?