javascript - 如何让一个简单的 localstack/localstack 与 node.js 一起工作

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

我正在尝试让 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 retries] createTopic({ Name: 'testing123' }) { 404: null at Request.extractError (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/protocol/query.js:52:29) at Request.callListeners (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:105:20) at Request.emit (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:77:10) at Request.emit (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:683:14) at Request.transition (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:22:10) at AcceptorStateMachine.runTo (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/state_machine.js:14:12) at /Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/state_machine.js:26:10 at Request. (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:38:9) at Request. (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/request.js:685:12) at Request.callListeners (/Users/t.smith/workspace/scratch/fake-sns-testing/node_modules/aws-sdk/lib/sequential_executor.js:115:18) message: null, code: 404, time: 2018-04-23T09:56:50.296Z,
requestId: undefined, statusCode: 404, retryable: false,
retryDelay: 95.466505112399 }

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

最佳答案

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

关于javascript - 如何让一个简单的 localstack/localstack 与 node.js 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49977994/

相关文章:

javascript - .map 中的返回语句不呈现

javascript - 将数组写入 JSON 文件

amazon-web-services - 如何在 aws glue 爬虫中为每个表定义自定义分类器?

amazon-web-services - 如何让一个 Kubernetes LoadBalancer 平衡多个服务?

javascript - 在 React 中处理巨大的 10 列表排序的最佳方法?

javascript - 更改 ),用 JavaScript 表示为字符串

javascript - 如何获取在javascript中点击的li的索引

node.js - 如果不存在,MongoDB 将默认值合并到每个文档

node.js - 为什么我们必须为 ReactJS 安装 NodeJS

r - 启动 Amazon EC2 集群以用作 foreach 后端的最简单方法