作为一名开发人员,我不想一直连接到 Amazon Web 服务,我在本地计算机上安装了 DynamoDB,并参考了AWS Docs。我在后端使用 node.js。
我在生产中使用 dynamoose 作为 Amazon DynamoDB 的建模工具,如何使用相同的 dynamoose 查询本地 DynamoDB 表进行开发?
作为一名开发人员,我不想一直连接到 Amazon Web 服务,我在本地计算机上安装了 DynamoDB,并参考了AWS Docs。我在后端使用 node.js。
我在生产中使用 dynamoose 作为 Amazon DynamoDB 的建模工具,如何使用相同的 dynamoose 查询本地 DynamoDB 表进行开发?
可能有一个版本的事情,但我不得不做
var dynamoose = require('dynamoose');
dynamoose.aws.ddb.local();
您只需在代码中使用它:
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 上本地运行。如果您没有在端口 8000 上运行 DynamoDB Local,则必须更新上面的第二行以反映正确的端口。
编辑
如评论中所述,您无需指定'http://localhost:8000'
,因为这些是默认值。如果您不使用端口为 8000 且主机为 localhost 的默认选项,您当然可以将端口或主机更改为您想要的。
如果您正在寻找更新版本的 dynamoose,则正确的语法是。
dynamoose.aws.ddb.local(http://localhost:8000)
https://dynamoosejs.com/guide/Dynamoose/#dynamooseawsddblocalendpoint