谁能说出在aws ec2中创建一个描述区域的查询的想法?我对&authparameters .Also感到困惑,请给我一个生成签名的程序。
发布于 2011-01-21 14:50:47
经过长时间的搜索,我发现了一个可以创建查询并从AWS..It返回响应的程序。
程序
<?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.
?>发布于 2011-01-21 14:57:02
您可能应该只使用AWS SDK for PHP来为您处理这些事情;它将使您的代码更好,它们不太可能包含bug,并且从长远来看,它将为您节省时间。
发布于 2011-02-02 04:22:26
这里的答案是“prathyush”,这是非常有用的信息。我已经搜索了一段时间,寻找关于如何在ec2上通过php的http请求来运行实例的信息。这段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('Y-m-d\TH:i:s\Z'),'Version‘=> '2008-05-05',
'SignatureVersion‘=> 2,
'SignatureMethod‘=> 'HmacSHA256’);
不要忘记将上面的可用区更改为您需要的。对于我来说,我将其更改为eu-west-1a。
另外,在代码底部的两个位置将ec2.amazonaws.com更改为eu-west-1.ec2.amazonaws.com。
https://stackoverflow.com/questions/4732311
复制相似问题