簡體   English   中英

亞馬遜ec2查詢

[英]amazon ec2 query making

任何人都可以說出一個想法來創建描述aws ec2中區域的查詢。我對&authparameters感到困惑。還請提供一個程序來生成簽名。

經過長時間的搜索,我找到了一個程序,該程序將創建查詢並從AWS返回響應。

程序

<?php 

$key='Your aws key';
 $pwd='Your AWS secret key';



// See docs   ://docs.amazonwebservices.com/AWSEC2/latest/APIReference/------->Actions---->Describe Regions 

//for making a request to the aws


 $params = array(   
 'Action' => 'DescribeAvailabilityZones',
 'AWSAccessKeyId' => $key, 
 'Timestamp' => gmdate('Y-m-d\TH:i:s\Z'),
 'Version' => '2008-05-05', 
 'ZoneName.0' => 'us-east-1a',
 'ZoneName.1' => 'us-east-1b',    
 'ZoneName.2' => 'us-east-1c', 
 'SignatureVersion' => 2,  
 'SignatureMethod' => 'HmacSHA256'
 );




 uksort($params, 'strnatcmp');
 $qstr = ''; 
 foreach ($params as $key => $val) {
 $qstr .= "&{$key}=".rawurlencode($val);
 }
 $qstr = substr($qstr, 1);

 // Signature Version 2 

 $str = "GET\n"  
 . "ec2.amazonaws.com\n"
 . "/\n"      
 . $qstr; 


 $params['Signature'] = base64_encode( hash_hmac('sha256', $str, $pwd, true) );  // Generating a base64-encoded RFC 

//2104-compliant HMAC-SHA256 



 $req = 'https://ec2.amazonaws.com/?' . http_build_query(     $params );  // encoded query string 

 echo '<a href="'.$req.'">XML</a><p>';//For Navigating or creating a request.



 ?>

您可能應該只使用適用於PHPAWS開發工具包為您處理這些工作; 它將使您的代碼更好,它們包含錯誤的可能性大大降低,並且從長遠來看將節省您的時間。

這里的“ prathyush”答案非常有用。 我一直在搜索一段時間,以獲取有關如何通過php的http請求在ec2上運行實例的信息。 這段php代碼可以適應於完成更多操作!

例如,將$ params部分替換為:

$ params =數組(
'Action'=>'RunInstances','ImageId'=>'ami-f0f61599','Placement.AvailabilityZone'=>'us-east-1a','InstanceType'=>'m1.large','MinCount'= >'1','MaxCount'=>'1','KeyName'=>'yourkeypair','AWSAccessKeyId'=> $ key,'Timestamp'=> gmdate('Ymd \\ TH:i:s \\ Z') ,'版本'=>'2008-05-05',
'SignatureVersion'=> 2,
'SignatureMethod'=>'HmacSHA256');

不要忘記將上方的可用區域更改為您所需的內容。 對我來說,我將其更改為eu-west-1a。

同樣,將ec2.amazonaws.com更改為eu-west-1.ec2.amazonaws.com,將其顯示在代碼底部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM