我是AWS的新手,所以这可能是一个简单的问题。
当我使用AWS CloudFormation模板创建DynamoDB表时,我看不到为表提供名称的方法。所以最后命名为{stackName}-{resourceName}-{randomLetters}
。但是,如果我手动创建DynamoDB表,我可以提供表名。
我的模板:
"Resources" : {
"mytable" : {
"Type" : "AWS::DynamoDB::Table",
"Properties" : {
"KeySchema" : {
"HashKeyElement": {
"AttributeName" : {"Ref" : "HashKeyElementName"},
"AttributeType" : {"Ref" : "HashKeyElementType"}
}
},
"ProvisionedThroughput" : {
"ReadCapacityUnits" : {"Ref" : "ReadCapacityUnits"},
"WriteCapacityUnits" : {"Ref" : "WriteCapacityUnits"}
}
}
}
...
}
例如,如果我创建一个名为“mystack”的堆栈,则创建的DynamoDB表将具有类似于“mystack-mytable-NUEXAXXOMBXX”的名称。
答案 0 :(得分:20)
您可以使用“Tablename”属性为表格命名。这是文档的链接。
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html
"Resources" : {
"mytable" : {
"Type" : "AWS::DynamoDB::Table",
"Properties" : {
"KeySchema" : {
"HashKeyElement": {
"AttributeName" : {"Ref" : "HashKeyElementName"},
"AttributeType" : {"Ref" : "HashKeyElementType"}
}
},
"ProvisionedThroughput" : {
"ReadCapacityUnits" : {"Ref" : "ReadCapacityUnits"},
"WriteCapacityUnits" : {"Ref" : "WriteCapacityUnits"}
},
"TableName": "MyDynamoDBTableName"
}
}
}
答案 1 :(得分:0)
您无法为表格命名。您需要在创建后捕获它并在应用程序中使用它