我正在尝试调用api请求(service:execute-api),并且需要Signature v4。我一直在阅读文档,我清楚地看到了这一点:
或者,您可以使用AWS CLI或其中一个AWS软件开发工具包 处理请求签名。
我不拥有API,最初只是认为我可以使用CURL但显然配置了IAM。我想知道签署此请求的最佳方式是什么?
注意: 看起来有一个AWS4Signer类可能是我正在寻找的非手动生成签名
答案 0 :(得分:1)
对不起,但是从您的问题来看,您不仅仅是在试验API,还是想要编写一个调用它的客户端(如生产代码中)。
如果您只是测试,可以使用Postman来调用API(它支持SigV4)。详情here。
如果您正在编写客户端,那么可以从API网关生成SDK,如评论中所述。如果这是不可能的,那么下一个最佳选择是使用一种特定于语言的SDK签名者来生成SigV4签名。 AWS4Signer,就像你说的那样,是要走的路。它应该很容易与它集成,但如果你可以分享你的特定用例的更多细节(平台,语言,你从哪里获得AWS凭证等),人们可以给你一个更好的答案。
最后,如果您想自己生成签名,here's how规范生成的签名有效。