此问题是关于获取对EC2 API的REST API调用的earlier问题的后续问题。
有了这个工作,我想概括它并尝试了几件事。例如,我尝试按区域名称进行过滤并发出请求
https://ec2.amazonaws.com/?Action=DescribeRegions
&RegionName.1=us-east-1
&RegionName.2=eu-west-1
他们在documentation中显示。
签名很简单,将RegionName(s)按字母顺序排列在签名请求中,并按照我没有它们的方式签署整个内容。结果很好。
所以我进入了他们在文档中提供的第二个例子。
https://ec2.amazonaws.com/?Action=DescribeRegions
&Filter.1.Name=endpoint
&Filter.1.Value.1=*ap*
好的,我尝试按照字母顺序排序的位置将过滤器放入我的签名参数中......
char * signing_parameters_template =
"AWSAccessKeyId=%s&"
"Action=DescribeRegions&"
"Filter.1.Name=endpoint&"
"Filter.1.Value=*ap*&"
"SignatureMethod=HmacSHA256&"
"SignatureVersion=2&"
"Timestamp=%s&"
"Version=2013-08-15";
并签名。我收到签名不匹配的错误。我尝试了很多变种,没有运气。
如何签署包含过滤器的请求?
答案 0 :(得分:0)
我必须逃避过滤器中的“*”
"Filter.1.Value=*ap*&"
就是这样!