使用aws cli将全局二级索引添加到DynamoDB中的现有表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用aws cli将全局二级索引添加到DynamoDB中的现有表相关的知识,希望对你有一定的参考价值。
我无法找到如何使用aws cli将全局二级索引添加到DynamoDB中的现有表的示例。 这就是我所知道的docs
任何指针将不胜感激
答案
这是update-table
document。
例:
aws dynamodb update-table --table-name <tableName> --global-secondary-index-updates file://gsi-command.json
使用更新,创建或删除操作创建JSON文件: -
从下面的示例JSON中保留其中一个操作(更新,创建或删除),并相应地更新属性定义
[
{
"Update": {
"IndexName": "string",
"ProvisionedThroughput": {
"ReadCapacityUnits": long,
"WriteCapacityUnits": long
}
},
"Create": {
"IndexName": "string",
"KeySchema": [
{
"AttributeName": "string",
"KeyType": "HASH"|"RANGE"
}
...
],
"Projection": {
"ProjectionType": "ALL"|"KEYS_ONLY"|"INCLUDE",
"NonKeyAttributes": ["string", ...]
},
"ProvisionedThroughput": {
"ReadCapacityUnits": long,
"WriteCapacityUnits": long
}
},
"Delete": {
"IndexName": "string"
}
}
...
]
另一答案
更新表文档的选项部分中有一小部分提到了所需的options specific to creating a new global secondary index,它要求属性定义包含新索引的关键元素。只需将该选项添加到@notionquest提供的示例的末尾即可。
aws dynamodb update-table --table-name <tableName> --global-secondary-index-updates file://gsi-command.json --attribute-definitions AttributeName=<attributeName>, AttributeType=<attributeType>
另一答案
在现有表中创建全局二级索引。使用此CLI命令和JSON文件进行更新。
aws dynamodb update-table --table-name sample--cli-input-json file://gsi-update.json --endpoint-url http://localhost:8000
以JSON格式保存参数。
{
"AttributeDefinitions":[
{
"AttributeName":"String",
"AttributeType":"S"
},
{
"AttributeName":"String",
"AttributeType":"S"
}
],
"GlobalSecondaryIndexUpdates":[
{
"Create":{
"IndexName":"index-name",
"KeySchema":[
{
"AttributeName":"String",
"KeyType":"HASH"
},
{
"AttributeName":"String",
"KeyType":"RANGE"
}
],
"Projection":{
"ProjectionType":"ALL"
},
"ProvisionedThroughput":{
"ReadCapacityUnits":5,
"WriteCapacityUnits":5
}
}
}
]
}
以上是关于使用aws cli将全局二级索引添加到DynamoDB中的现有表的主要内容,如果未能解决你的问题,请参考以下文章
使用 DynamoMapper 和类 Annotation 创建具有全局二级索引的表
如何在 AWS CDK 2.0 中编写稀疏的全局二级索引行?