【问题标题】:Local stack DynamoDB is not working本地堆栈 DynamoDB 不工作
【发布时间】:2018-08-03 23:18:55
【问题描述】:

我正在尝试在本地测试我的 AWS 资源。我发现了一个非常漂亮的 docker 镜像,它几乎可以提供所有可用的服务,并且可以用于本地测试。 DynamoDB 的一项服务无法正常工作。这也适用于我的应用程序。

我用谷歌搜索了很多,但我无法找到根本原因。根据我的 docker 容器日志。以下是日志。

docker run -it -p 4567-4578:4567-4578 -p 8080:8080 localstack/localstack

2018-07-30T12:49:17:ERROR:localstack.services.generic_proxy:转发请求时出错:预期字符串或缓冲区 Traceback(最近一次调用最后一次): 文件“/opt/code/localstack/localstack/services/generic_proxy.py”,第 181 行,向前 路径=路径,数据=数据,标题=forward_headers) 文件“/opt/code/localstack/localstack/services/dynamodb/dynamodb_listener.py”,第 35 行,在 forward_request TypeError: 预期的字符串或缓冲区

【问题讨论】:

    标签: amazon-web-services docker amazon-dynamodb


    【解决方案1】:

    我认为您使用了错误的端口。答案可以在localstack的问题列表中找到:https://github.com/localstack/localstack/issues/675

    本地堆栈中的 DynamoDB 的 GUI 在端口 4564 上运行。运行以下命令,然后您可以访问 localhost:4564/shell 上的 GUI

    docker run -d -p 4569:4569 -p 4564:4564 localstack/localstack:latest
    

    连接代码

    const dynamoose = require('dynamoose');
    const AWS = require('aws-sdk');
    
    dynamoose.local('http://localhost:4569');
    
    dynamoose.AWS.config.update({
      region: 'us-east-1',
    });
    const Purchase = dynamoose.model('test', {
      test: {
        type: String,
        hashKey: true,
      }
    }, {
      update: true,
    });
    

    【讨论】:

    • 这是一个 GUI 部分,但如果我必须使用我的 java 应用程序将数据推送到数据库,我应该使用哪个结束点。
    • 那不行。已经试过了。请在我的问题中找到上述错误。
    • AmazonDynamoDB 客户端 = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration("localhost:8080", "us-west-1")) .build(); DynamoDB dynamoDB = new DynamoDB(client); TableCollection 表 = dynamoDB.listTables(); System.out.println("你好" +table.getMaxResultSize());它给了我 null 我的数据库中有两个表
    • 我已经用 node.js orm dynamoose 尝试了 localhost:4569。它可以工作,这意味着服务本身没有任何问题。显示错误消息是因为您使用了错误的端口。如果你仍然遇到同样的问题,那应该是你的代码的问题。我不知道它在 JAVA 中是如何工作的,也不知道你为什么在代码中使用 localhost:8080。
    • 您可以从 Commandeer 查看您的 LocalStack 环境,这对调试很有帮助。 getcommandeer.com
    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 2020-05-01
    • 2021-05-16
    • 2021-01-09
    • 2013-02-16
    • 1970-01-01
    • 2016-02-01
    • 2014-07-13
    相关资源
    最近更新 更多