使用java在本地aws dynamodb中基于aws sam template.yaml文件中的信息创建表

vcudknz3  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(276)

我在java集成测试中运行了本地dynamodb

AmazonDynamoDBLocal embeddedDynamo = DynamoDBEmbedded.create()
AmazonDynamoDB client = embeddedDynamo.amazonDynamoDB();
DynamoDB dynamoDB = new DynamoDB(client);

现在我需要根据sam template.yaml文件中的定义创建表。我可以使用gradle将该文件复制到classpath上,并通过一些java/groovy工具对其进行解析,然后使用解析后的map为dynamodb示例api提供数据来创建这些表。
但我想知道是否有任何库或工具,为我这样做?
谢谢你,卢卡斯

rks48beu

rks48beu1#

您需要自己创建它。您可以使用json文件和awscli的 dynamodb 命令,例如:
my-table.json文件

{
    "TableName": "MyTable",
    "KeySchema": [
      { "AttributeName": "Id", "KeyType": "HASH" }
    ],
    "AttributeDefinitions": [
      { "AttributeName": "Id", "AttributeType": "S" }
    ],
    "ProvisionedThroughput": {
      "ReadCapacityUnits": 1,
      "WriteCapacityUnits": 1
    }
}

aws cli的dynamodb create table命令示例 aws dynamodb create-table --cli-input-json file://my-table.json --endpoint-url http://localhost:8000 笔记
不需要json文件就可以做到这一点。
更多信息请参见以下文档:https://docs.aws.amazon.com/cli/latest/reference/dynamodb/create-table.html

相关问题