私はAWSのラムダ関数から別のサーバーに(DaynamoDBからフェッチ)いくつかのJSONデータを送信しようとしていますが、スクリプト内のURLを与えながら:ラムダスクリプトによって別のサーバーにJSONデータをポストする方法
'use strict';
const https = require('https');
exports.handler = (event, context, callback) => {
var options = {
hostname: 'https://www.corecomputersystem.com',
path: '/getSyncData.php',
port : 432,
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
};
event.Records.forEach((record) => {
console.log(record.eventID);
console.log(record.eventName);
console.log('DynamoDB Record: %j', record.dynamodb);
var res = record.dynamodb;
const req = https.request(options, (res) => {
let body = "";
console.log('Status:', res.statusCode);
console.log('Headers:', JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', (chunk) => body += chunk);
res.on('end',() => {
console.log('Successfully processed HTTPS response');
// If we know it's JSON, parse it
if (res.headers['content-type'] === 'application/json') {
body = JSON.parse(body);
}
callback(null, body);
});
});
req.on('error', callback);
req.write(JSON.stringify(event.data) + "");
req.end();
//context.succeed();
});
};
それは
、
{
"errorMessage": "getaddrinfo ENOTFOUND https://www.corecomputersystem.com https://www.corecomputersystem.com:432",
"errorType": "Error",
"stackTrace": [
"errnoException (dns.js:26:10)",
"GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)"
]
}
を次のエラーをスローだと私は
context.succeed()
のコメントを解除した場合、エラーがない、私はエラーを識別するための助けが必要。
が、私はそれを削除しようとしたが、再び新しいエラーは、私が言ってしまった:{ "にErrorMessage": "ECONNREFUSED 173.236.36.194:432を接続する"、 "ERRORTYPE": "エラー"、 "スタックトレース":[ 「オブジェクト(TCPConnectWrap.afterConnect [as oncomplete](net.js:1062:14))」を参照してください。「export._exceptionWithHostPort(util.js:893:20)」、 ] } – Ashish
私はこれを試してみましたが、再び、それはエラーを与える開始しました:{ "にErrorMessage": "ECONNREFUSED 173.236.36.194:432を接続する"、 "ERRORTYPE": "エラー"、 "スタックトレース":[ を " Object.e xports._errnoException(util.js:870:11)」、 "exports._exceptionWithHostPort(util.js:893:20)"、 "TCPConnectWrap.afterConnect(net.js:1062:14)[onCompleteのような" ] } – Ashish
あなたは本当にポートを持っていますか?それは標準のhttpsポートではありません。 httpsは443 – at0mzk