- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
java中有没有办法获取dynamodb表的HashKey的属性名称?
e.g., if the dyanmodb table schema is
(
"HashKey, String", SSNId
"SortKey, Long", Pincode
"String", Name
)
So I should be able to get the output like this:-
getHashKeyAttributeName(String tableName) --> SSNId
getSortkeyAttributeName(String tableName) --> Pincode
getOtherAttributeList(String tableName) --> Name
最佳答案
您只需迭代 keySchemas
和attributeDefinitions
当您描述表格时。
DynamodbTable
描述具有以下结构,(我正在使用 clojure-aws ,您可以使用 aws cli 查看表结构)
user=> (db/describe-table {:profile "aws-profile" :endpoint "us-west-2"} "KeyValueLookupTable1")
{:table {:key-schema [{:key-type "HASH", :attribute-name "leaseKey"}], :table-size-bytes 201, :attribute-definitions [{:attribute-name "leaseKey", :attribute-type "S"}], :creation-date-time #object[org.joda.time.DateTime 0x4c6ece3 "2017-06-07T15:50:35.057-07:00"], :item-count 1, :table-status "ACTIVE", :table-name "KeyValueLookupTable1", :provisioned-throughput {:read-capacity-units 10, :write-capacity-units 10, :number-of-decreases-today 0}, :table-arn "arn:aws:dynamodb:us-west-2:033814027302:table/KeyValueLookupTable1"}}
在哪里可以看到 key-schema
和attribute-definitions
您需要迭代的键。
1) 请参阅 TableDescription#getKeySchema
的文档获取 HASH
和RANGE
键。
使用 java8 的示例
DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient())
String getHashKeyAttributeName(String tableName) {
TableDescription tableSchema = dynamoDB.getTable(tableName).describe();
return tableSchema.getKeySchema().stream()
.filter(x -> x.getKeyType().equals(KeyType.HASH.toString()))
.findFirst().get().getAttributeName();
}
String getSortkeyAttributeName(String tableName) {
TableDescription tableSchema = dynamoDB.getTable(tableName).describe();
return tableSchema.getKeySchema().stream()
.filter(x -> x.getKeyType().equals(KeyType.RANGE.toString()))
.findFirst().get().getAttributeName();
}
2) 对于其他字段,需要迭代 List<AttributeDefinitions>
你得到的 tableDescription.getAttributeDefinitions
List<String> getOtherAttributeList(String tableName) {
DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient());
TableDescription tableSchema = dynamoDB.getTable(tableName).describe();
return tableSchema.getAttributeDefinitions().stream()
.map(AttributeDefinition::getAttributeName)
.collect(Collectors.toList());
}
关于java - DynamoDb HashKey 属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731800/
我的表有 UserId(hashkey)+id(Rangekey)。正如预期的那样,它们只有在一起是唯一的。 [DynamoDBTable("Item")] public class It
在尝试更新文档时,我在字段 timesToDisplay 中收到上述错误。 MongoDB 版本 2.6.7。 整个模型: msg = { 'name': '',
$scope.appdata = [{name: '', position: '', email: ''}]; 这是我在 Angular Controller 中创建的数组。 然后,我使用push方法
Ramda REPL example 你好,我有一个对象数组。这些对象以某种方式获得了一个 $$hashKey。我需要删除 $$hashKey 以便我删除重复项或删除唯一性逻辑。 let ticker
带有硬编码对象的数组出现在我的 ng-repeat 中。 $scope.deltagarelist = [{ label: "Nils", value: "3" }]; 这是我的 javascri
我正在尝试为选择菜单设置所选选项,但它不起作用,因为我发送到 ng-model 的数据与中的数据具有不同的 $$hashKey选择菜单和 $$hashKey 保存值。 Manga Seçin B
我是 Angular2 的新手,想知道 Angular2 中是否有 $$hashKey 的替代方案。 我在 angularjs 中使用 $$hashKey 来识别对象。 例如。 var arrayIt
对象: Object $$hashKey: "object:25" id: 1 category: "Fruit" name: "Apple" colo
我正在尝试将中继器中包含的对象与刚刚从服务器返回的对象进行比较。 因为重复对象包含 hashkey 属性 angular.equals 计算结果为 false。 我想我可以删除该属性,但我不知道它们是
我有一个 DynamoDB,我用它来存储有关 EC2 实例的一些信息,因此我使用实例 ID 作为 HashKey。 每周一次,我运行一个代码,将大量记录插入到该表中: AmazonDynamoDB a
java中有没有办法获取dynamodb表的HashKey的属性名称? e.g., if the dyanmodb table schema is ( "HashKey, String", SSNI
我对 HashSet 的内部工作有点困惑,因为我知道 HashSet 使用 key(K) 来找到正确的桶并使用 equals 来比较值,但是 HashSet 的工作方式意味着它如何生成哈希键? 最佳答
我有一个哈希表,它的键看起来像这样 geo:a hashKey 看起来像这样 NAME:USERS_IP 我想知道是否有办法获取 NAME 的所有值,其中 USERS_IP 是通配符 *。该表将有数百
我使用 Boolsleve c# 创建了一个 HaskKey,我每次都提供一个唯一的字段,我的项目是 Json 字符串。 public virtual void AddHashSetKey(st
我有以下 HTML: {{beep.name}} selected JavaScript(AngularJS):
我已经在寻找解决方案,我已经尝试了所有但我没有找到解决方案。 在我的代码中,我通过 ajax 从数据库中获取一个数组。 我得到正确的数组,像这样: [{"id":"1","name":"product
我认为这是一个简单的解决方案,但似乎无法正常工作。 我有一个对象数组列表,我在 html 上通过 ng-repeat 运行它。在每一行上,我添加一个按钮,用于调用保存到 api 服务器的操作。这会从数
我可以用一张图片解释我的问题。 在一些操作之后的单元测试中,我想检查 $scope.data(第一条日志消息)是否等于原始 data 对象(第二条日志消息)。我使用 mocha + chai 和 ex
$scope.create(在CreateCtrl中)和$scope.list(在ListCtrl中)链接到DOM由于某种原因,$$hashKey 没有添加到所有对象中。最后一个物体没有他留下。也就是
大家好,我已经在这个问题上工作了几个小时。基本上我需要获取 key 哈希来创建 android-facebook 应用程序。我找不到任何 jdk 文件夹虽然我有 adt(可以吗?顺便说一句)那就是我必
我是一名优秀的程序员,十分优秀!