You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无AWS CLI环境调用EC2 API查询公共AMI失败,求可行方案

问题描述

我所处环境无法使用AWS CLI,只能通过纯HTTPS调用API查询公共AMI。执行了以下GET请求:

https://ec2.eu-north-1.amazonaws.com/?Action=DescribeImages&Filter.1.Name=is-public&Filter.1.Value.1=true

该请求和官方API参考里的示例很相似,但返回错误:

<Code>UnknownParameter</Code>
<Message>The parameter Filter is not recognized</Message>

我确定这不是认证问题(认证出错会返回AuthFailure),怀疑文档过时但找不到更新版本,想知道正确的请求方式是什么?

解决方案

问题出在参数名的拼写错误:EC2 DescribeImages API的过滤参数是复数形式的Filters,而非你使用的单数Filter。修正参数名后即可正常请求,正确的GET请求示例如下:

https://ec2.eu-north-1.amazonaws.com/?Action=DescribeImages&Filters.1.Name=is-public&Filters.1.Value.1=true

如果需要更精准的筛选,比如只看亚马逊官方发布的公共AMI,可以添加额外的过滤条件:

https://ec2.eu-north-1.amazonaws.com/?Action=DescribeImages&Filters.1.Name=is-public&Filters.1.Value.1=true&Filters.2.Name=owner-alias&Filters.2.Value.1=amazon

另外需要注意,EC2的REST API请求通常需要AWS签名版本4的签名验证,即使是查询公共资源,未签名的请求大概率会触发AuthFailure错误,确保你已经按照要求完成了请求签名。

内容的提问来源于stack exchange,提问作者palmin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:34:43