在计算机上本地部署 DynamoDB - Amazon DynamoDB
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在计算机上本地部署 DynamoDB

Download Locally

Amazon DynamoDB 的可下载版本作为可执行 .jar 文件提供。该应用程序在 Windows、Linux、macOS 和其他支持 Java 的平台上运行。

按照以下步骤操作,在您的计算机上设置并运行 DynamoDB。

在您的计算机上设置 DynamoDB

  1. 从以下位置之一免费下载 DynamoDB。

    区域 下载链接 校验和

    亚太地区(孟买)区域

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    亚太区域(新加坡)

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    亚太区域(东京)

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    欧洲(法兰克福)区域

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    南美洲(圣保罗)区域

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    美国西部(俄勒冈)区域

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    DynamoDB 也可作为 AWS Toolkit for Eclipse 的一部分提供。有关更多信息,请参阅 AWS Toolkit For Eclipse

    重要

    要在计算机上运行 DynamoDB,您必须具有 Java 运行时环境 (JRE) 8.x 版或更新版本。此应用程序无法在早期的 JRE 版本上运行。

  2. 下载存档后,提取内容,并将提取的目录复制到您选择的某个位置。

  3. 要在计算机上启动 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

  4. 您必须先配置凭证以为您的应用程序启用授权,然后才能以编程方式或通过 AWS Command Line Interface (AWS CLI) 访问 DynamoDB。可下载的 DynamoDB 需要具有任何凭证才能工作,如以下示例所示。

    AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"

    您可以使用 AWS CLI 的 aws configure 命令设置凭证。有关更多信息,请参阅使用 AWS CLI

  5. 开始编写应用程序。要使用 AWS CLI 访问本地运行的 DynamoDB,请使用 --endpoint-url 参数。例如,使用以下命令列出 DynamoDB 表。

    aws dynamodb list-tables --endpoint-url http://localhost:8000
Apache Maven

按照以下步骤操作,在应用程序中将 Amazon DynamoDB 用作依赖项。

将 DynamoDB 部署为 Apache Maven 存储库

  1. 下载并安装 Apache Maven。有关更多信息,请参阅下载 Apache Maven安装 Apache Maven

  2. 将 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>
    注意

    您也可以使用以下存储库之一 URLs,具体取决于您的 AWS 区域。

    id Repository 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

Docker

Amazon DynamoDB 的可下载版本作为 Docker 映像的一部分提供。有关更多信息,请参阅 dynamodb-local

有关使用 DynamoDB Local 作为基于 AWS 无服务器应用程序模型 (AWS SAM) 构建的 REST 应用程序的一部分的示例,请参阅用于管理订单的 SAM DynamoDB 应用程序。此样本应用程序演示如何使用 DynamoDB Local 进行测试。

如果要运行也使用 DynamoDB 本地容器的多容器应用程序,请使用 Docker Compose 定义和运行应用程序中的所有服务,包括 DynamoDB Local。

使用 Docker Compose 安装和运行 DynamoDB Local:

  1. 下载并安装 Docker Desktop

  2. 将以下代码复制到文件中,并将其另存为 docker-compose.yml

    version: '3.7' services: dynamodb-local: image: amazon/dynamodb-local:latest container_name: dynamodb-local ports: - "8000:8000"

    如果您希望应用程序和 DynamoDB Local 位于单独的容器中,请使用以下 yaml 文件:

    version: '3.7' services: dynamodb-local: image: amazon/dynamodb-local container_name: dynamodb-local ports: - "8000:8000" app-node: depends_on: - dynamodb-local image: banst/awscli 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 容器中运行一个命令,该命令使用 AWS CLI 连接到 dynamodb-local 容器,并描述账户和表限制。

    要与您自己的应用程序映像一起使用,请将以下示例中的 image 值替换为应用程序的相应值:

    version: '3.7' services: 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' dynamodb-local: image: amazon/dynamodb-local:latest container_name: dynamodb-local ports: - "8000:8000"
    注意

    yaml 脚本要求您指定 AWS 访问密钥和 AWS 私有密钥,但不一定是您访问 DynamoDB Local 的有效 AWS 密钥。

  3. 运行以下命令行:

    docker-compose up