4

我是 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”。

4

2 回答 2

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"                       
    }
  }
}
于 2014-02-11T05:13:54.987 回答
-1

您无法为您的表命名。您需要在创建后捕获它并在您的应用程序中使用它

于 2013-08-06T18:13:02.593 回答