6 个版本
0.4.0 | 2023 年 12 月 24 日 |
---|---|
0.3.5 | 2023 年 2 月 3 日 |
0.3.4 | 2023 年 1 月 20 日 |
0.3.1 | 2022 年 12 月 12 日 |
#1054 in 开发工具
18KB
405 行
DynamoDB 工具
这个crate之前叫做dynamodb-tester,但我决定将其重命名为dynamodb-tools,因为它不仅仅用于测试。
由于 AWS 提供了DynamoDB Local,我们可以在开发与测试环境中利用它。然而,管理 DynamoDB 客户端和表很繁琐,我们需要在每次测试结束时清理这些内容,以免污染其他测试。这个crate将帮助您创建具有唯一名称的表,并在测试结束后将其销毁(如果您使用 Drop trait 的话)。
使用方法
首先,您需要自己下载并运行 DynamoDB Local。例如,我将它解压缩到了 ~/bin/dynamodb_local_latest,因此我可以这样启动它
$ java -Djava.library.path=~/bin/dynamodb_local_latest/DynamoDBLocal_lib -jar ~/bin/dynamodb_local_latest/DynamoDBLocal.jar -inMemory -sharedDb
您可以将其设置为服务,以便在系统启动时自动启动。
在您的测试代码中,您可以使用它如下
// first, create the LocalClient
use dynamodb_tools::DynamodbConnector;
let connector = DynamodbConnector::try_new("fixtures/config.yml").await?;
// then you could use the returned client & table_name
// to interact with dynamodb local.
let ret = connector.client
.put_item()
.table_name(connector.table_name().unwrap())
.set_item(Some(item))
.send()
.await?;
如果您想将其与 GitHub Action 集成,可以使用此操作
- name: Setup DynamoDB Local
uses: rrainn/[email protected]
with:
port: 8000
cors: '*'
有关更多详细信息,请参阅build.yml
依赖
~16–27MB
~361K SLoC