如何格式化 ec2 终端节点对 json 的响应



我正在尝试对 ec2-Endpointhttps://ec2.eu-central-1.amazonaws.com/?Action=DescribeInstances&Version=2016-11-15执行 GET 请求,以获取我的 AWS 账户(位于欧洲中部 1 区域(中所有 ec2 实例的列表。不幸的是,响应的内容采用 xml 格式。是否有机会更改对 json 的响应格式?

我已经将 GET-Request 的 Accept-Header 设置为 "application/json",但没有成功。

如果我使用相同的接受标头查询 IAM 端点https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08,则响应的内容将以 json 字符串格式正确传递。

这些是 ec2 查询的标头(不起作用(:

GET /?Action=DescribeInstances&Version=2016-11-15 HTTP/1.1
Host: ec2.eu-central-1.amazonaws.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
X-Amz-Date: 20180706T091958Z
Authorization: <valid AWS4 authorization header>
Cache-Control: no-cache
Postman-Token: 69c8f349-95b5-4e9d-991c-5ce2a55b0cbe

以及我的 iam-query 的标头(工作(:

GET /?Action=ListUsers&amp;Version=2010-05-08 HTTP/1.1
Host: iam.amazonaws.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
X-Amz-Date: 20180706T092222Z
Authorization: <valid AWS4 authorization header>
Cache-Control: no-cache
Postman-Token: ad86f2ae-870c-4289-a9d3-1f2ad9082c8f

执行 aws cli tools 命令aws ec2 describe-instances以 json 格式列出所有实例,所以我认为应该有一种方法可以通过 GET 请求来实现这一点。

非常感谢您的帮助。

可能为时已晚,但可能会帮助他人。

我还试图从 DescribeInstances 获取 json 输出,但没有运气。 目前这似乎是不可能的,因为即使是 aws cli 也会以 xml 格式接收它,然后将其转换为 json。您可以使用 --debug 标志查看它:

AWS EC2 描述实例 --调试

最新更新