在计算机上本地部署 DynamoDB
- Download locally
-
DynamoDB Local 以可执行
.jar
文件的形式提供。此应用程序将在 Windows、Linux、macOS 和其他支持 Java 的平台上运行。按照以下步骤操作,在您的计算机上设置并运行 DynamoDB。
注意 在 M1 和更高版本的 Apple 处理器上,需要 DynamoDB Local 版本 1.20 及更高版本。
在您的计算机上设置 DynamoDB
从以下位置之一免费下载 DynamoDB。
区域 下载链接 校验和 亚太地区(孟买)区域
亚太地区(新加坡)区域
亚太地区(东京)区域
欧洲地区(法兰克福)区域
南美洲(圣保罗)区域
美国西部(俄勒冈州)区域
DynamoDB 还会作为 Amazon Toolkit for Eclipse 的一部分提供。有关更多信息,请参阅Amazon Toolkit for Eclipse
。 重要 要在您的计算机上运行 DynamoDB,您必须具有 Java 运行时环境 (JRE) 版本 8.x 或更高版本。此应用程序无法在早期的 JRE 版本上运行。
-
下载存档后,提取内容,并将提取的目录复制到您选择的某个位置。
要在计算机上启动 DynamoDB,请打开命令提示符窗口,导航到您提取
DynamoDBLocal.jar
的目录,并输入以下命令。java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
注意 如果您使用的是 Windows PowerShell,请务必将参数名称或整个名称和值括起,如下所示:
java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar
DynamoDB 将处理传入请求,直到您将其停止为止。要停止 DynamoDB,请在命令提示符处按 Ctrl+C。
默认情况下,DynamoDB 使用端口 8000。如果端口 8000 不可用,此命令将引发异常。有关 DynamoDB 运行时选项的完整列表(包括
-port
),请输入此命令。java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help
-
您必须先配置凭证以为您的应用程序启用授权,然后才能以编程方式或通过 Amazon Command Line Interface (Amazon CLI) 访问 DynamoDB。可下载的 DynamoDB 需要具有任何凭证才能工作,如以下示例所示。
AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"
您可以使用 Amazon CLI 的
aws configure
命令设置凭证。有关更多信息,请参阅使用 Amazon CLI。 -
开始编写应用程序。要使用 Amazon CLI 访问本地运行的 DynamoDB,请使用
--endpoint-url
参数。例如,使用以下命令列出 DynamoDB 表。aws dynamodb list-tables --endpoint-url http://localhost:8000
- Docker
-
Amazon DynamoDB 的可下载版本作为 Docker 映像的一部分提供。有关更多信息,请参阅 dynamodb-local
。 有关使用作为 Amazon Serverless Application Model (Amazon SAM) 上构建的 REST 应用程序的一部分的 DynamoDB Local 的示例,请参阅用于管理订单的 SAM DynamoDB 应用程序
。此样本应用程序演示如何使用 DynamoDB Local 进行测试。 如果要运行也是使用 DynamoDB 本地容器的多容器应用程序,请使用 Docker Compose 来定义和运行应用程序中的所有服务,包括 DynamoDB Local。
使用 Docker compose 安装和运行 DynamoDB local:
-
下载并安装 Docker desktop
。 -
将以下代码复制到文件中并将其保存为
docker-compose.yml
。version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal
如果您希望应用程序和 DynamoDB Local 位于单独的容器中,请使用以下 yaml 文件。
version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: depends_on: - dynamodb-local image: amazon/aws-cli container_name: app-node ports: - "8080:8080" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' command: dynamodb describe-limits --endpoint-url http://dynamodb-local:8000 --region us-west-2
此 docker-compose.yml 脚本将创建一个
app-node
容器和一个dynamodb-local
容器。此脚本会在app-node
容器中运行一个命令,该命令使用 Amazon CLI 连接到dynamodb-local
容器,并描述账户和表限制。要与您自己的应用程序映像一起使用,请将以下示例中的
image
值替换为应用程序的相应值:version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: image:
location-of-your-dynamodb-demo-app:latest
container_name: app-node ports: - "8080:8080" depends_on: - "dynamodb-local" links: - "dynamodb-local" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' REGION: 'eu-west-1'注意 YAML 脚本要求您指定 Amazon 访问密钥和 Amazon 私有密钥,但不一定是您访问 DynamoDB Local 的有效 Amazon 密钥。
-
运行以下命令行命令:
docker-compose up
-
- Apache Maven
-
按照以下步骤操作,在应用程序中将 Amazon DynamoDB 用作依赖项。
将 DynamoDB 部署为 Apache Maven 存储库
-
下载并安装 Apache Maven。有关更多信息,请参见下载 Apache Maven
和安装 Apache Maven 。 -
将 DynamoDB Maven 存储库添加到您的应用程序的项目对象模型 (POM) 文件。
<!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>[1.12,2.0)</version> </dependency> </dependencies> <!--Custom repository:--> <repositories> <repository> <id>dynamodb-local-oregon</id> <name>DynamoDB Local Release Repository</name> <url>https://s3-us-west-2.amazonaws.com/dynamodb-local/release</url> </repository> </repositories>
注意 也可以根据您的 Amazon 区域使用下列存储库 URL 之一。
id 存储库 URL dynamodb-local-mumbai
https://s3.ap-south-1.amazonaws.com/dynamodb-local-mumbai/release
dynamodb-local-singapore
https://s3.ap-southeast-1.amazonaws.com/dynamodb-local-singapore/release
dynamodb-local-tokyo
https://s3.ap-northeast-1.amazonaws.com/dynamodb-local-tokyo/release
dynamodb-local-frankfurt
https://s3.eu-central-1.amazonaws.com/dynamodb-local-frankfurt/release
dynamodb-local-sao-paulo
https://s3.sa-east-1.amazonaws.com/dynamodb-local-sao-paulo/release
-