2013-09-23 29 views
0

這個問題是我的earlier關於獲取REST API調用EC2 API工作的一個後續問題。如何使用過濾器構建對Amazon EC2 API調用的簽名請求?

已經得到了工作,我想概括它,並試圖一對夫婦的事情。例如,我試圖通過域名過濾和發出請求

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* 

OK,我試圖把過濾器進入我的簽字參數在按字母順序排序位置嘀......

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

我不得不逃離 「*」 的過濾器

"Filter.1.Value=*ap*&" 

這就是它!

相關問題