Simple DynamoDB 请求因 ResourceNotFoundException 而失败
2022-09-03 17:07:14
我刚刚使用 Java 开发工具包 (v1.8) 启动并运行 DynamoDB。我使用 AWS 控制台创建了一个非常简单的表。我的表有一个主哈希键,它是一个字符串(无范围)。我已将单个项目放入具有 4 个其他属性值(所有字符串)的表中。
我正在对表中的该项目进行简单的Java请求,但是它失败了。我绝对肯定我提供的表名称是正确的,就像我用于查询项目的主哈希键的名称一样。表状态在 AWS 控制台中列为,我也可以看到该项目及其值。ResourceNotFoundException
Active
这是我得到的错误:
Requested resource not found (Service: AmazonDynamoDB; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: ...)
我尝试了以下方法(使用类的版本):dynamodbv2
Map<String, AttributeValue> key = new HashMap<String, AttributeValue>();
key.put(PRIMARY_KEY, new AttributeValue().withS(value));
GetItemRequest request = new GetItemRequest()
.withTableName(TABLE_NAME)
.withKey(key);
GetItemResult result = client.getItem(request);
我还尝试使用所有这些类的较旧的,已弃用的版本,如下所示:
GetItemRequest request = new GetItemRequest()
.withTableName(TABLE_NAME)
.withKey(new Key().withHashKeyElement(new AttributeValue().withS(value)));
GetItemResult result = client.getItem(request);
...但这是相同的结果。
我的理解是,这意味着引用的表名或属性无效,但事实并非如此。如果表处于状态太早,也可以将其抛出,但我的表是 .ResourceNotFoundException
Creating
Active