gpt4 book ai didi

node.js - Node.js 中的 AWS4 签名

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:33 24 4
gpt4 key购买 nike

我正在尝试使用 aws4 包通过 Javascript 调用私有(private) Amazon API,但我无法让它工作。我能够使用 Postman 成功进行调用,但我试图让它与代码一起工作,但失败了。

这是 postman 屏幕截图:

enter image description here

这是尝试复制此内容的代码:

request(aws4.sign({
service: 'execute-api',
region: 'us-east-1',
method: 'POST',
url: 'https://test.amazonAPI.com/test/doThing',
body: load
},
{
accessKeyId: tempCreds.Credentials.AccessKeyId,
secretAccessKey: tempCreds.Credentials.SecretAccessKey,
sessionToken: tempCreds.Credentials.SessionToken
}))

我目前遇到的错误:

Error: getaddrinfo ENOTFOUND execute-api.us-east-1.amazonaws.com execute-api.us-east-1.amazonaws.com:443
at errnoException (dns.js:53:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26)

最佳答案

我认为您在 requestOptions 中缺少主机名。正确:

request(aws4.sign({
hostname: 'test.amazonAPI.com',
service: 'execute-api',
region: 'us-east-1',
method: 'POST',
url: 'https://test.amazonAPI.com/test/doThing', // this field is not recommended in the document.
body: load
},
{
accessKeyId: tempCreds.Credentials.AccessKeyId,
secretAccessKey: tempCreds.Credentials.SecretAccessKey,
sessionToken: tempCreds.Credentials.SessionToken
}))

引用:https://github.com/mhart/aws4

关于node.js - Node.js 中的 AWS4 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46797211/

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