如何计算AWS PHP SDK2中的实例数
假设已安装composer,您需要安装ec2客户端。假设使用composer的推荐方法安装SDK。首先调用aws_setup,然后使用安全凭据创建ec2客户端对象。由于已调用composer,它将自动加载所需的库 然后使用DescribeInstances获取所有正在运行的实例 我打包了countInstances函数,以便可以重用。您可以使用调用descripbeinstances 使用一个数组来过滤最后发布的结果 设置如下:如何计算AWS PHP SDK2中的实例数,php,amazon-web-services,amazon-ec2,composer-php,Php,Amazon Web Services,Amazon Ec2,Composer Php,假设已安装composer,您需要安装ec2客户端。假设使用composer的推荐方法安装SDK。首先调用aws_setup,然后使用安全凭据创建ec2客户端对象。由于已调用composer,它将自动加载所需的库 然后使用DescribeInstances获取所有正在运行的实例 我打包了countInstances函数,以便可以重用。您可以使用调用descripbeinstances 使用一个数组来过滤最后发布的结果 设置如下: require('/PATH/TO/MY/COMPOSER/ven
require('/PATH/TO/MY/COMPOSER/vendor/autoload.php');
function aws_setup()
{
$conf_aws = array();
$conf_aws['key'] = 'MYKEY';
$conf_aws['secret'] = 'MYSECRET';
$conf_aws['region'] = 'us-east-1';
return $conf_aws;
}
function countInstances($list)
{
$count = 0;
foreach($list['Reservations'] as $instances)
{
foreach($instances['Instances'] as $instance)
{
$count++;
}
}
return $count;
}
$config = aws_setup();
$ec2Client = \Aws\Ec2\Ec2Client::factory($config);
$list = $ec2Client->DescribeInstances();
echo "Number of running instances: " . countInstances($list);
如果要筛选结果,请尝试以下方法作为参数来描述实例:
array('Filters' => array(array('Name' => 'tag-value', 'Values' => array('MY_INSTANCE_TAG'))));
代码执行时没有错误,但我必须对其进行调整以将其发布到这里
编辑:将实例列表添加到countInstances函数。否则它就看不见了。你为什么要发布一个问题并自己回答呢?@unsertive“说得非常清楚,不仅仅可以问和回答你自己的问题,还可以明确鼓励。”