[英]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.
?>
这里的“ 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.