gpt4 book ai didi

php - 如何通过 lambda 脚本将 JSON 数据发布到另一台服务器

转载 作者:太空宇宙 更新时间:2023-11-04 00:29:11 24 4
gpt4 key购买 nike

我正在尝试从 AWS lambda 函数将一些 JSON 数据(从 DaynamoDB 获取)发送到另一台服务器,但同时在脚本中给出 URL:

'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(),则不会出现错误,我需要帮助来识别错误。

最佳答案

就深度而言,@at0mzk 表示,主机名永远不会采用任何端口号,因此任何像 [http、https、smb、nfs]://这样的前缀都会在请求主机名的任何地方引发错误。

( http://localhost === 本地主机:80)

关于php - 如何通过 lambda 脚本将 JSON 数据发布到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41671522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com