2

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

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

4

4 回答 4

2

可能有一个版本的事情,但我不得不做

var dynamoose = require('dynamoose');
dynamoose.aws.ddb.local();
于 2020-05-14T18:57:13.113 回答
2

您只需在代码中使用它:

dynamoose.local();

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

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

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

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

于 2018-01-12T11:13:02.637 回答
1

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

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

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

编辑

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

于 2018-01-12T16:52:39.090 回答
1

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

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

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

于 2020-08-03T20:34:57.557 回答