我正在尝试使用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 在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) at /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) message:null,代码:404,时间:2018-04-23T09:56:50.296Z,
requestId:undefined,statusCode:404,retryable:false,
retryDelay:95.466505112399}
我想听听任何使用node.js成功设法使用localstack / localstack docker镜像的人。感谢。
答案 0 :(得分:5)
答案是通过删除网址中的双:
来纠正SNS端点。