- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目标
我想以编程方式从Elastic Beanstalk应用程序将项目添加到DynamoDB中的表中,并使用类似于以下代码的代码:
Item item = new Item()
.withPrimaryKey(UserIdAttributeName, userId)
.withString(UserNameAttributeName, userName);
table.putItem(item);
User: arn:aws:sts::[iam id?]:assumed-role/aws-elasticbeanstalk-ec2-role/i-[some number] is not authorized to perform: dynamodb:PutItem on resource: arn:aws:dynamodb:us-west-2:[iam id?]:table/PiggyBanks (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: AccessDeniedException; Request ID: [the request id])
aws-elasticbeanstalk-service-role
Add permissions for additional services to the default service role in the IAM console.
aws-elasticbeanstalk-service-role
角色,并将其添加到托管策略
AmazonDynamoDBFullAccess
中。该策略如下所示,为简洁起见,删除了其他操作:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"dynamodb:*",
[removed for brevity]
"lambda:DeleteFunction"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
filipebarretto
的好问题,我实例化DynamoDB对象,如下所示:
private static DynamoDB createDynamoDB() {
AmazonDynamoDBClient client = new AmazonDynamoDBClient();
client.setRegion(Region.getRegion(Regions.US_WEST_2));
DynamoDB result = new DynamoDB(client);
return result;
}
default credentials provider chain
,然后使用
instance profile credentials
,
which exist within the instance metadata associated with the IAM role for the EC2 instance.
[This option] in the default provider chain is available only when running your application on an EC2 instance, but provides the greatest ease of use and best security when working with EC2 instances.
AmazonDynamoDBClient client = new AmazonDynamoDBClient(new InstanceProfileCredentialsProvider());
最佳答案
更新aws-elasticbeanstalk-ec2-role角色,而不是aws-elasticbeanstalk-service-role。
此salient documentation包含 key :
When you create an environment, AWS Elastic Beanstalk prompts you to provide two AWS Identity and Access Management (IAM) roles, a service role and an instance profile. The service role is assumed by Elastic Beanstalk to use other AWS services on your behalf. The instance profile is applied to the instances in your environment and allows them to upload logs to Amazon S3 and perform other tasks that vary depending on the environment type and platform.
关于amazon-web-services - 为什么我的Elastic Beanstalk应用程序尽管具有角色,但仍然拒绝PutItem访问我的DynamoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38555781/
const AWS = require('aws-sdk'); const dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'}); expor
我们有一个带有分区键和排序键的 DynamoDB 表。两个键都是数字类型。我正在尝试使用 boto3 DynamoDB 客户端的 PutItem API 插入项目。我收到以下错误; Traceback
我们有一个带有分区键和排序键的 DynamoDB 表。两个键都是数字类型。我正在尝试使用 boto3 DynamoDB 客户端的 PutItem API 插入项目。我收到以下错误; Traceback
我正在使用 AmazonDynamoDBClient putItem 方法在数据库中插入项目。 putItem 的返回类型是 PutItemResult,但我将其设置为 null。 AmazonDyn
我想每次都替换现有记录,所以 putItem 对我来说是正确的操作。但每条记录都有一个创建日期,我不想更新它。因为创建日期始终相同。 是否可以在不首先查询 DynamoDB 的情况下实现此目的?谢谢。
我正在尝试在 DynamoDB put 中执行 ConditionExpression 以检查存储的 bool 值是否为真(在此示例中,用户是否已经过验证不要运行 put),我正在使用 javascr
我正在尝试使用条件在 DynamoDB 上放置一个 interm,但不起作用。 我有一个用户表和一个作为主键的属性 id,属性名称必须是唯一的。 conditions := aws.String("N
我正在尝试从部署在 AWS ElasticBeanStalk 上的 Node 应用程序访问 DynamoDB。我收到一个错误 User is not authorized to perform: dy
我现在刚刚使用 Amazon AWS DynamoDB。在 Future 中,我想将 Items 放在我的表中,但前提是不存在具有相同键的 Item,这样我就不会覆盖现有值。你知道我是怎么做到的吗?我
我在本地的 DynamoDb 中有一个简单的表,并尝试放置这样的项目: var options = {name : "test", creator : "Testcreator
我的 putItem 正在运行。现在我想确保我只更新现有项目的新信息,或者将其添加为新项目: 条件表达式: 如果 partition:sort 不存在则创建新项 如果属性生成则更新 attribut
我正在开发一个 lambda 函数,它将存储有关不同用户的信息。我有一个属性,userID 作为我的主分区键,storedObject 作为我的主排序键。当我使用 PutItem 时,我希望它仅添加
我有一个简单的 JSON 数组,我正在尝试使用变量设置映射键。该数组使用 DynamoDB 的映射功能,第一个名为“hours”的映射包含一个嵌套映射,我希望该映射的键值为 15。但是,因为我希望该键
我在使用无服务器框架的 Lambda 函数时遇到问题,该函数应该将数据放入 DynamoDB。我不确定这个问题,因为当我运行:sls invoke local -f scrape -d 'the-la
我正在将数组中的变量插入 AWS DynamoDB$dbf[$a]['变量1'], $dbf[$a]['变量2'], $dbf[$a]['变量3'] ... 对于一些$a,只设置了'variable1
我有一个 EC2 实例,它打开一个 json 文件,读取每一行并对两个表执行 putItem 操作。 在没有putItem操作的情况下,Golang解析一个67k行的文件大约需要3秒。 通过 putI
我正在尝试设置一个从 AWS Lambda 到 DynamoDB 的小型 api,但我无法确定是否以及如何将对象数组写入键。 我有一个类似的对象 { "teamName": "Team Awe
我有一个用例,在这种情况下,单个请求中的条目列表要更新的情况并不多,而且大多数情况下,只请求更新单个条目。但在未来,这可能会增长,因此我正在考虑使用 BatchPutItem 而不是 PutItem。
我正在努力实现我认为非常标准的东西,但我已经碰壁了。我有一堆数据要存储在 DynamoDB 中 const putDataParams = { TableName: "sens
根据 DynamoDb 文档,为什么有人会使用 updateItem 而不是 putItem? PutItem - 将单个项目写入表中。如果表中存在具有相同主键的项目,则该操作将替换该项目。为了计算
我是一名优秀的程序员,十分优秀!