2013-05-22 1 views
1

PHP 용 최신 버전 (2) SDK를 사용하고 있습니다. 다음은 기존 인스턴스에 이름 태그를 할당하는 코드 중 일부이다Amazon AWS, PHP SDK 2를 사용하여 ec2 인스턴스 용 이름 태그 만들기

try { 
    $result = $ec2->createTags(array(
     'Resources' => array($instanceid), 
     'Tags' => array(
      'Name' => 'PWC_cwc'), 
    )); 
} catch (Exception $e) { 
    die("Failed to create tag name: ".$e."<br>"); 
} 

출력 :

태그 이름을 만들지 못했습니다 메시지 '유효성 검사 오류와 예외'목구멍 \ 서비스 \ 예외 \의 ValidationException를 ' [태그] [이름] [태그] 객체 유형이어야합니다 '/Users/harry/Documents/workspace/BigData/vendor/guzzle/guzzle/src/Guzzle/Service/Command/AbstractCommand.php:394 스택 추적 : # 0

내가 인수를 전달하는 방식에 문제가있는 것 같지만이 작업을 수행하는 올바른 방법을 알 수 없습니다.

createTags 방법에 대한 API 링크는 여기에 있습니다 : http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.Ec2.Ec2Client.html#_createTags

답변

3

이 시도 :

$result = $ec2->createTags(array(
    'Resources' => array($instanceid), 
    'Tags' => array(
     'Tag' => array(
      'Key' => '<key>', 
      'Value' => '<value>' 
     ) 
    ) 
)); 

당신은 '태그'배열 내부의 '태그'의 배열이 필요합니다.

4

각 태그의 '키'와 '값'을 지정해야합니다.

$args = array(
    'DryRun' => False, 
    'Resources' => array($resource), 
    'Tags' => array(
     array(
     'Key' => 'firstkey', 
     'Value' => $firstkeyvalue), 
     array(
     'Key' => 'secondkey', 
     'Value' => $secondkeyvalue), 
     array(
     'Key' => 'thirdkey', 
     'Value' => $thirdkeyvalue) 
     )); 
$response = $ec2->createTags($args);