gpt4 book ai didi

bash - 使用 AWS 签名版本 4 的 REST API 调用(无法签署 AWS API 请求)

转载 作者:行者123 更新时间:2023-11-29 09:27:33 26 4
gpt4 key购买 nike

我从未能够让 AWS API 调用正常工作。我正在尝试在网络上的 Linux 服务器上工作,以发布 REST API 以与我的企业 AWS 账户进行交互。

我正在尝试使用签名版本 4 签署 AWS 请求。我需要在 AWS 实例上执行此操作吗?我有共享访问 key 、RSA 私钥(开始 RSA 私钥...结束 RSA 私钥)和 AWS 访问 key (例如,AKAI...值)。

我遇到的问题是创建规范请求。我收到错误消息“格式错误的 URL”。 Bash 解析了我的 curl 但此后的参数有问题:

curl -i ... -X GET/action=listusers ...

我正在努力遵循这些指示:

http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html

我认为我的命令应该有效,因为上面的链接将其显示为规范请求的示例:

GET
/
Action=ListUsers&Version=2010-05-08
content-type:application/x-www-form-urlencoded; charset=utf-8
host:iam.amazonaws.com
x-amz-date:20150830T123600Z

content-type;host;x-amz-date
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

这有很多参数。对上述规范请求的 curl 命令将导致有关“格式错误的 url”的错误以及此行无法识别的 bash 命令:

content-type:application/x-www-form-urlencoded; charset=utf-8

以上说明并未说明如何确定 URI。如何确定 URI?如何使用正确解析 URI 的长 curl 命令,以便在参数之间没有空格来调用 Bash 对无法识别的命令的响应?

我已经尝试了多种 curl 命令排列来列出与我的 AWS 账户关联的服务器或用户。似乎没有任何效果。

我想发出一个基本的 API 命令来验证它是否有效。我想列出 AWS 实例或列出与 AWS 账户关联的用户。但我坚持创建规范请求,因为显然我不知道如何确定在 Curl 命令中使用哪个 URI 或 URL。如果我知道怎么做,我可以签署请求。如果我能让 Linux curl 命令工作,我最终可以使用 Python 的子进程来调用它们。

最佳答案

来不及给出我的答案,但是它可能对其他想要找到示例 bash 以调用支持 AWS 签名版本 4 的 AWS API Gateway Rest 的人有用。可以在此处找到示例脚本:https://github.com/riboseinc/aws-authenticating-secgroup-scripts

关于bash - 使用 AWS 签名版本 4 的 REST API 调用(无法签署 AWS API 请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39862396/

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