Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

设置 DynamoDB Local (可下载版本)

利用 DynamoDB 下载版本,您可以在不访问 DynamoDB Web 服务的情况下编写和测试应用程序。相反,数据库可在计算机上独立使用。当您准备好在生产中部署应用程序时,可以对代码进行少量细微更改,从而使用 DynamoDB Web 服务。

拥有此本地版本将帮助您节省预置的吞吐量、数据存储和数据传输费用。此外,您在开发应用程序时无需 Internet 连接。

在您的计算机上下载并运行 DynamoDB

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

按照以下步骤在您的计算机上设置并运行 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 在 Apache Maven 上可用。有关更多信息,请参阅本主题后面的 DynamoDB (下载版本) 和 Apache Maven。DynamoDB 是作为 AWS Toolkit for Eclipse 的一部分提供的。有关更多信息,请参阅 AWS Toolkit For Eclipse

    重要

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

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

  3. 要在计算机上启动 DynamoDB,请打开命令提示符窗口,导航到您提取 DynamoDBLocal.jar 的目录,并键入以下命令:

    Copy
    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

    注意

    DynamoDB 将处理传入请求,直到您将其停止为止。要停止 DynamoDB,请在命令提示符处键入 Ctrl+C。

    默认情况下,DynamoDB 使用端口 8000。如果端口 8000 不可用,此命令将引发异常。有关 DynamoDB 运行时选项的完整列表(包括 -port),请键入此命令:

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help

完成这些步骤后,您可以开始编写应用程序。

DynamoDB (下载版本) 和 Apache Maven

在您的应用程序中将 DynamoDB 用作依赖项:

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

  2. 将 DynamoDB Maven 存储库添加到您的应用程序的项目对象模型 (POM) 文件:

    Copy
    <!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>[1.11,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>

    注意

    或者,根据您的区域,您可使用以下存储库 URL 之一:

    id Repository URL

    dynamodb-local-mumbai

    https://s3.ap-south-1.amazonaws.com/dynamodb-local-mumbai/release

    dynamodb-local-signapore

    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

GitHub 中的 aws-dynamodb-examples 存储库包含有关在 Java 程序中启动和停止 DynamoDB Local 以及在 JUnit 测试中使用 DynamoDB Local 的示例。

命令行选项

您可将下列命令行选项用于 DynamoDB 的下载版本:

  • -cors value - 实现对适用于 JavaScript 的跨源资源共享 (CORS) 的支持。您必须提供特定域的逗号分隔“允许”列表。-cors 的默认设置是星号 (*),这将允许公开访问。

  • -dbPath value - DynamoDB 写入数据库文件的目录。如果您未指定此选项,则文件将写入到当前目录。您不能同时指定 -dbPath-inMemory

  • -delayTransientStatuses - 使 DynamoDB 为某些操作引入延迟。DynamoDB (下载版本) 几乎可以即时执行某些任务,如针对表和索引的创建/更新/删除操作。但是,DynamoDB 服务需要更多时间才能完成这些任务。设置此参数可帮助在您的计算机上运行的 DynamoDB 更逼真地模拟 DynamoDB Web 服务的行为。(目前,此参数仅为处于 CREATINGDELETING 状态的全局二级索引引入延迟。)

  • -help – 打印使用摘要和选项。

  • -inMemory - DynamoDB 将在内存中运行,而不使用数据库文件。停止 DynamoDB 时,不会保存任何数据。您不能同时指定 -dbPath-inMemory

  • -optimizeDbBeforeStartup - 在计算机上启动 DynamoDB 之前优化底层数据库表。使用此参数时,您还必须指定 -dbPath

  • -port value - DynamoDB 用于与您的应用程序进行通信的端口号。如果您未指定此选项,则默认端口是 8000

    注意

    默认情况下,DynamoDB 使用端口 8000。如果端口 8000 不可用,此命令将引发异常。您可以使用 -port 选项指定其他端口号。有关 DynamoDB 运行时选项的完整列表(包括 -port),请键入此命令:

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help

  • -sharedDb - DynamoDB 将使用单个数据库文件,而不是针对每个凭证和区域使用不同的文件。如果指定 -sharedDb,那么所有 DynamoDB 客户端都将与同一组表交互,无论其区域和证书配置如何。