前言
随着 Web 应用程序的不断发展,越来越多的开发者需要处理“活动数据” —— 即实时收集、处理和存储的数据。在处理活动数据时,开发者可能需要使用 DynamoDB,这是一个强大的、经过验证的云数据库。
然而,只使用云服务存在很多弊端,比如:代价较高、开发和测试时网络环境有限等等。因此,有必要在本地环境下使用 DynamoDB。
这就需要我们介绍一下 npm 包 @rokt33r/local-dynamodb,它提供了一个使用 DynamoDB 的本地实现,并支持许多 DynamoDB 机制。
@rokt33r/local-dynamodb 是什么?
@rokt33r/local-dynamodb 是 Amazon DynamoDB 的本地缩小版,可以在本地运行,是一种 DynamoDB 的替代方案,适用于开发和测试。
@rokt33r/local-dynamodb 是一个独立于 DynamoDB 的本地数据存储服务,它支持 DynamoDB API(包括 DynamoDB Streams API)。@rokt33r/local-dynamodb 可以在本地计算机上启动,并可以使用 HTTP API 或 AWS SDK 访问。
@rokt33r/local-dynamodb 的安装
@rokt33r/local-dynamodb 的安装非常简单,只需要在终端中输入 npm install @rokt33r/local-dynamodb 命令,即可完成。
注意:使用 @rokt33r/local-dynamodb 需要安装 Java。
@rokt33r/local-dynamodb 使用教程
第一步:启动本地服务
在终端中输入以下命令启动本地服务:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
在执行该命令之后,会启动一个基于本地计算机的端口(默认是 8000)。
第二步:与本地服务交互
有两种方式与本地服务进行交互:使用 HTTP API 或 AWS SDK。
HTTP API
可以使用 HTTP API 使用 DynamoDB 服务。以下是本地服务的端点:
http://localhost:8000
AWS SDK
使用 AWS SDK 执行 DynamoDB 操作。首先,需要将 AWS 访问密钥设置为 SDK 默认的 “本地访问密钥”。
当设置本地访问密钥时,可以使用默认配置和本地服务端点配置,则无需更改基于 AWS SDK 的应用程序和环境。
// node.js 示例 const AWS = require('aws-sdk'); const dynamodb = new AWS.DynamoDB({ region: 'localhost', endpoint: 'http://localhost:8000', accessKeyId: '__dummy__', secretAccessKey: '__dummy__', });
第三步:在本地服务上创建 DynamoDB 表
在本地服务上使用 DynamoDB,可以通过 AWS SDK 创建表。以下示例将在本地服务上创建表:
-- -------------------- ---- ------- ----- ------ - - ---------- -------- ---------- -- -------------- --------- -------- ------ -- - -------------- ------------ -------- ------- --- --------------------- -- -------------- --------- -------------- --- -- - -------------- ------------ -------------- --- --- ---------------------- - ------------------ -- ------------------- - -- -- ---------------------------- ----- ----- -- - -- ----- - ------------------ -------- ------ --------- - ---- - ------------------ -------- ---------- - ---
第四步:在本地服务上放置数据
在本地服务上使用 DynamoDB,可以通过 AWS SDK 放置数据。以下示例将在本地服务上放置数据:
-- -------------------- ---- ------- ----- ------ - - ---------- -------- ----- - ------- - -- -------- -- ---------- - -- --- ----- -- ----------- - -- --- ------ - -- -- ------------------------ ----- ----- -- - -- ----- - ------------------ ------ ----- --------- - ---- - ----------------- ------ ---------- - ---
第五步:在本地服务上获取数据
在本地服务上使用 DynamoDB,可以通过 AWS SDK 获取数据。以下示例将在本地服务上获取数据:
-- -------------------- ---- ------- ----- ------ - - ---------- -------- ---- - ------- - -- -------- -- ---------- - -- --- ----- - - -- ------------------------ ----- ----- -- - -- ----- - ------------------ ------- ----- --------- - ---- - ----------------- ---------- -------------------------- - ---
总结
@rokt33r/local-dynamodb 是一款非常实用的 npm 包,开发者可以使用它在本地环境下使用 DynamoDB,并进行开发和测试。此外,本文介绍了如何通过使用 HTTP API 或 AWS SDK 与本地 @rokt33r/local-dynamodb 数据库进行交互,并通过示例代码具体说明了如何在本地服务上执行各种操作。
希望开发者能够掌握如何使用 @rokt33r/local-dynamodb,提高开发效率,并减少使用 DynamoDB 带来的代价。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568d081e8991b448e48fa