I'm trying to get a local docker instance of localstack/localstack to work with node.js aws-sdk library. But I can get a simple createTopic to work on an sns client.
I have started the docker image with this mand and
docker run -d -p 4567-4583:4567-4583 localstack/localstack
The code that I am running....
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)
And the error that is returned....
[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 }
I would like to hear from anyone who has successfully managed to work with a localstack/localstack docker image with node.js. Thanks.
I'm trying to get a local docker instance of localstack/localstack to work with node.js aws-sdk library. But I can get a simple createTopic to work on an sns client.
I have started the docker image with this mand and
docker run -d -p 4567-4583:4567-4583 localstack/localstack
The code that I am running....
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)
And the error that is returned....
[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 }
I would like to hear from anyone who has successfully managed to work with a localstack/localstack docker image with node.js. Thanks.
Share Improve this question edited May 2, 2018 at 15:36 thomas-peter asked Apr 23, 2018 at 9:46 thomas-peterthomas-peter 7,9446 gold badges47 silver badges59 bronze badges 3-
Could you try replacing the endpoint by
'http://localhost:4575'
(without double :) – Hugodby Commented May 2, 2018 at 10:58 - Thanks, make an answer to claim your prize – thomas-peter Commented May 2, 2018 at 15:40
- 1 Thomas, thats a serious typo :-). I was about to post an answer and then read the ments. Since @hugodby posted this first, he deserves to post the answer and claim the points. – Tarun Lalwani Commented May 2, 2018 at 15:55
1 Answer
Reset to default 14 +50The answer is to correct the SNS endpoint by removing double :
in the url.