如何连接到moto独立服务器?

我刚安装moto,并试图用下面的node.js代码连接到独立服务器:如何连接到moto独立服务器?

const AWS = require('aws-sdk') 

const ep = new AWS.Endpoint('http://127.0.0.1:5000')

const route53 = new AWS.Route53({endpoint: ep})

const params = {}

console.log(route53.listHostedZones(params))

代码设置AWS服务的endpoint,它指向的moto的独立服务器。然后向端点发送listHostedZones请求。这个程序的输出是

Request { 

domain: null,

service:

Service {

config:

Config {

credentials: [Object],

credentialProvider: [Object],

region: undefined,

logger: null,

apiVersions: {},

apiVersion: null,

endpoint: [Object],

httpOptions: [Object],

maxRetries: undefined,

maxRedirects: 10,

paramValidation: true,

sslEnabled: true,

s3ForcePathStyle: false,

s3BucketEndpoint: false,

s3DisableBodySigning: true,

computeChecksums: true,

convertResponseTypes: true,

correctClockSkew: false,

customUserAgent: null,

dynamoDbCrc32: true,

systemClockOffset: 0,

signatureVersion: null,

signatureCache: true,

retryDelayOptions: {},

useAccelerateEndpoint: false },

endpoint:

Endpoint {

protocol: 'http:',

host: '127.0.0.1:5000',

port: 5000,

hostname: '127.0.0.1',

pathname: '/',

path: '/',

href: 'http://127.0.0.1:5000/',

constructor: [Object] },

_clientId: 1 },

operation: 'listHostedZones',

params: {},

httpRequest:

HttpRequest {

method: 'POST',

path: '/',

headers: { 'User-Agent': 'aws-sdk-nodejs/2.166.0 darwin/v6.2.2' },

body: '',

endpoint:

Endpoint {

protocol: 'http:',

host: '127.0.0.1:5000',

port: 5000,

hostname: '127.0.0.1',

pathname: '/',

path: '/',

href: 'http://127.0.0.1:5000/',

constructor: [Object] },

region: undefined,

_userAgent: 'aws-sdk-nodejs/2.166.0 darwin/v6.2.2' },

startTime: 2017-12-18T13:27:48.148Z,

response:

Response {

request: [Circular],

data: null,

error: null,

retryCount: 0,

redirectCount: 0,

httpResponse:

HttpResponse {

statusCode: undefined,

headers: {},

body: undefined,

streaming: false,

stream: null },

maxRetries: 3,

maxRedirects: 10 },

_asm:

AcceptorStateMachine {

currentState: 'validate',

states:

{ validate: [Object],

build: [Object],

afterBuild: [Object],

sign: [Object],

retry: [Object],

afterRetry: [Object],

send: [Object],

validateResponse: [Object],

extractError: [Object],

extractData: [Object],

restart: [Object],

success: [Object],

error: [Object],

complete: [Object] } },

_haltHandlersOnError: false,

_events:

{ validate:

[ [Object],

[Function: VALIDATE_REGION],

[Function: BUILD_IDEMPOTENCY_TOKENS],

[Function: VALIDATE_PARAMETERS] ],

afterBuild:

[ [Object],

[Function: SET_CONTENT_LENGTH],

[Function: SET_HTTP_HOST] ],

restart: [ [Function: RESTART] ],

sign: [ [Object] ],

validateResponse: [ [Function: VALIDATE_RESPONSE] ],

send: [ [Object] ],

httpHeaders: [ [Function: HTTP_HEADERS] ],

httpData: [ [Function: HTTP_DATA] ],

httpDone: [ [Function: HTTP_DONE] ],

retry:

[ [Function: FINALIZE_ERROR],

[Function: INVALIDATE_CREDENTIALS],

[Function: EXPIRED_SIGNATURE],

[Function: CLOCK_SKEWED],

[Function: REDIRECT],

[Function: RETRY_CHECK] ],

afterRetry: [ [Object] ],

build: [ [Function: buildRequest], [Function: sanitizeUrl] ],

extractData: [ [Function: extractData], [Function: extractRequestId] ],

extractError: [ [Function: extractError], [Function: extractRequestId] ],

httpError: [ [Function: ENOTFOUND_ERROR] ] },

emit: [Function: emit] }

正如你可以在上面的输出中看到,有一个ENOTFOUND_ERROR错误的。我无法在moto的控制台输出中找到任何新的连接。

我开始摩托车的方式是moto_server route53

> moto_server route53 

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

这有什么错我的配置?我认为我的node.js代码有问题。我是否误解了endpoint的含义?

回答:

const AWS = require('aws-sdk') 

const ep = new AWS.Endpoint('http://127.0.0.1:5000')

const initParam = {

endpoint: ep,

region: 'ap-northeast-1'

}

const route53 = new AWS.Route53(initParam)

let params = {

CallerReference: 'unique_string_affh38h98hasd8f76a',

Name: 'www.example.com'

}

route53.createHostedZone(params, (err, data) => {

if (err) {

console.error(`createHostedZone err: ${err}`)

} else {

console.log(`createHostedZone data: ${JSON.stringify(data)}`)

}

})

我忘了设置region参数。我查看listHostedZones()的输出的方式是错误的。纠正它们后,代码正常工作。

以上是 如何连接到moto独立服务器? 的全部内容, 来源链接: utcz.com/qa/264027.html

回到顶部