aws SDK 3,PHP,runInstance 不创建提供的标签

aws SDK 3, PHP, runInstance does not create the supplied Tags

        $options = array(
            'UserData' => base64_encode('test'),
            'SecurityGroupIds' => [AWS_REGIONS[$region]['security_group']],  
            'InstanceType' => AWS_REGIONS[$region]['instance_type'],
            'ImageId' => AWS_REGIONS[$region]['ami'],
            'MaxCount' => $to_launch,
            'MinCount' => 1,
            //'EbsOptimized' => true,
            'SubnetId' => AWS_REGIONS[$region]['subnet_id'],
            'Tags' => [['Key' => 'task', 'Value' => $task],['Key' => 'Name', 'Value' => $task]],
            'InstanceInitiatedShutdownBehavior' => 'terminate'
        );
        $response = $client->runInstances($options);

我正在使用 "latest" Ec2Client

它启动正常,但标签被完全忽略。
我怀疑 EC2 API 中有错误,但我没有那么有经验。
也许有经验的人可以帮助我?

这是因为Ec2Client::runInstances没有标签选项 http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2015-10-01.html#runinstances

您需要使用 Ec2Client::createTags:

单独调用来标记新创建的实例
$result = $client->createTags(array(
    'DryRun' => true || false,
    // Resources is required
    'Resources' => array('string', ... ),
    // Tags is required
    'Tags' => array(
        array(
            'Key' => 'string',
            'Value' => 'string',
        ),
        // ... repeated
    ),
));

在此处阅读更多内容: http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2015-10-01.html#createtags