gpt4 book ai didi

php - Amazon AWS SDK PHP 2 - 按实例过滤标签?

转载 作者:行者123 更新时间:2023-12-02 04:59:39 25 4
gpt4 key购买 nike

我已经能够使用 PHP SDK 从我的所有 EC2 实例中检索标签的完整列表,但我正在努力将结果过滤到特定实例...

    // Collect instance information
$sInstanceId = file_get_contents('http://169.254.169.254/latest/meta-data/instance-id'); // 'i-52da5b1f'
$sAvailabilityZone = file_get_contents('http://169.254.169.254/latest/meta-data/placement/availability-zone'); // 'eu-west-1b'
$sRegion = preg_replace('/^(.*)([0-9]{1})([a-zA-Z]{1})/', '$1$2', $sAvailabilityZone);

use Aws\Common\Aws;
use Aws\Ec2\Command\DescribeTags;
use Aws\Common\Enum\Region;

// Set up the global AWS factory
$oAWS = Aws::factory(array(
'key' => CONST_AWS_ACCESS_KEY,
'secret' => CONST_AWS_SECRET_KEY,
'region' => $sRegion
));

// Query EC2 for tags
$oEC2Client = $oAWS->get('ec2');
$oModel = $oEC2Client->describeTags()->toArray();

我尝试将对 describeTags 的调用更改为...

    $oModel = $oEC2Client->describeTags(array(
"Filters" => array(
array("Name" => "resource-id", "Value" => $sInstanceId)
)
))->toArray();

但这似乎没有什么区别。有人可以帮我解释一下吗?

最佳答案

API docs for Ec2Client.describeTags显示 Value 实际上应该是 Values 并且应该是一个数组。尝试以下操作:

$oModel = $oEC2Client->describeTags(array(
"Filters" => array(
array("Name" => "resource-id", "Values" => array($sInstanceId))
)
))->toArray();

关于php - Amazon AWS SDK PHP 2 - 按实例过滤标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com