如何使用dynamoose查询本地dynamoDB?

How to query local dynamoDB using dynamoose?

作为一名开发人员,我不想一直连接到亚马逊网络服务,我在本地计算机上安装了 DynamoDB,参考 AWS Docs。我在后端使用 node.js。

我在生产中使用 dynamoose 作为 Amazon DynamoDB 的建模工具,如何使用相同的 dynamoose 查询我的本地 DynamoDB 表以进行开发?

您只需在您的代码中使用它:

dynamoose.local();

假设您的应用程序中有一个属性文件,您可能需要一个 属性 标志来指示您是在开发中还是在生产中。然后在您的代码中,获取 属性,如果您处于开发阶段,运行 dynamoose.local() 行。

编辑:我没有在 javascript 中编码,但它会是这样的:

const { NODE_ENV } = process.env
if (NODE_ENV == "DEV") {
    dynamoose.local();
}

假设您的应用程序中有一个属性文件,您在其中设置了一个名为“environment”的系统属性,使其具有例如“DEV”或“PROD”的值。

下面的代码应该允许您设置 Dynamoose 以在本地使用。

var dynamoose = require('dynamoose');
dynamoose.local('http://localhost:8000');

这假设 DynamoDB 运行 在本地端口 8000 上。如果您不是 运行 DynamoDB Local 在端口 8000 上,您将必须更新上面的第二行以反映正确的端口。

编辑

如评论中所述,您无需指定 'http://localhost:8000',因为这些是默认值。如果您不使用端口为 8000 且主机为本地主机的默认选项,您当然可以将端口或主机更改为您想要的。

可能有版本问题,但我不得不这样做

var dynamoose = require('dynamoose');
dynamoose.aws.ddb.local();

如果您正在寻找更新版本的 dynamoose,正确的语法是。

dynamoose.aws.ddb.local(http://localhost:8000)

https://dynamoosejs.com/guide/Dynamoose/#dynamooseawsddblocalendpoint