【问题标题】:How do get a simple localstack/localstack to work with node.js如何让一个简单的 localstack/localstack 与 node.js 一起工作
【发布时间】:2018-10-03 07:36:17
【问题描述】:

我正在尝试让 localstack/localstack 的本地 docker 实例与 node.js aws-sdk 库一起使用。但是我可以得到一个简单的 createTopic 来在 sns 客户端上工作。

我已经用这个命令启动了 docker 镜像,并且

docker run -d -p 4567-4583:4567-4583 localstack/localstack

我正在运行的代码......

const AWS = require('aws-sdk')

AWS.config.update({
  accessKeyId: 'something',
  secretAccessKey: 'something',
  region:'us-east-1',
  logger: process.stdout
})

const sns = new AWS.SNS({endpoint:'http://localhost::4575'})
sns.createTopic({Name:'testing123'})
  .promise()
  .then(console.log)
  .catch(console.error)

以及返回的错误......

[AWS sns 404 0.035s 0 次重试] createTopic({ Name: 'testing123' }) { 404:空 在 Request.extractError (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/protocol/query.js:52:29) 在 Request.callListeners (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:105:20) 在 Request.emit (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:77:10) 在 Request.emit (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:683:14) 在 Request.transition (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:22:10) 在 AcceptorStateMachine.runTo (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/state_machine.js:14:12) 在 /Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/state_machine.js:26:10 在请求。 (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:38:9) 在请求。 (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:685:12) 在 Request.callListeners (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:115:18) 消息:null,代码:404,时间:2018-04-23T09:56:50.296Z,
requestId:未定义,statusCode:404,可重试:false,
重试延迟:95.466505112399 }

我想听听任何成功地使用 node.js 使用 localstack/localstack docker 映像的人。谢谢。

【问题讨论】:

  • 您可以尝试用'http://localhost:4575' 替换端点吗(不带双:)
  • 谢谢,请回答以领取您的奖品
  • Thomas,这是一个严重的错字:-)。我正要发布答案,然后阅读 cmets。既然@hugodby 最先发布了这个,他应该发布答案并获得积分。

标签: javascript node.js amazon-web-services aws-sdk


【解决方案1】:

答案是通过删除 url 中的双 : 来更正 SNS 端点。

【讨论】:

  • 我很高兴现在一切正常。即使我看起来像个白痴!
猜你喜欢
  • 2021-03-06
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 2011-11-22
  • 1970-01-01
相关资源
最近更新 更多