【问题标题】:How to query local dynamoDB using dynamoose?如何使用 dynamoose 查询本地 dynamoDB?
【发布时间】:2018-06-21 18:51:59
【问题描述】:

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

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

【问题讨论】:

    标签: javascript node.js amazon-dynamodb dynamoose


    【解决方案1】:

    您只需在代码中使用它:

    dynamoose.local();
    

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

    编辑:我不会用 javascript 编写代码,但它会是这样的:

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

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

    【讨论】:

    • 嗨,Stu,你能在这里举个例子吗!
    • 你去。首先设置系统属性将取决于您的部署环境。
    • 如果我有多个表,如何连接到特定表?
    • 您没有连接到表。您在请求中指定它。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      可能有版本的事情,但我不得不这样做

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

      【讨论】:

        【解决方案4】:

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

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

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

        编辑

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

        【讨论】:

        • 这会起作用,但如果只是使用 localhost 和 8000 运行,您实际上不需要指定地址或端口,因为这些是默认值
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 2019-09-26
        • 1970-01-01
        • 1970-01-01
        • 2020-12-22
        相关资源
        最近更新 更多