как получить доступ к TopicArn в Object / Array - PullRequest
0 голосов
/ 01 марта 2019

В настоящее время я пытаюсь внедрить Amazon SNS в проект обучения PHP, который я делаю.Мне просто интересно, как я могу напечатать TopicArn из этого объекта в PHP, чтобы я мог использовать его в переменной всякий раз, когда мне нужно будет использовать его в будущем коде.

Я думал, что это будет в духе object(Aws\Result)#100->... но я не уверен

Я пытался $TopicArn = $sns->get('TopicArn');, но это вернуло

Fatal error: Uncaught TypeError: Argument 2 passed to Aws\AwsClient::getCommand() must be of the type array, string given, called in /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php on line 77 and defined in /var/www/html/vendor/aws/aws-sdk-php/src/AwsClient.php:228 Stack trace: #0 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(77): Aws\AwsClient->getCommand('get', 'TopicArn') #1 /var/www/html/index.php(22): Aws\AwsClient->__call('get', Array) #2 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/AwsClient.php on line 228

Конечный результат должен быть arn:aws:sns:eu-west-1:321273dfffa23055886:testing22 сохранен в переменной

object(Aws\Result)#100 (2) {
  ["data":"Aws\Result":private]=>
  array(2) {
    ["TopicArn"]=>
    string(44) "arn:aws:sns:eu-west-1:321273dfffa23055886:testing22"
    ["@metadata"]=>
    array(4) {
      ["statusCode"]=>
      int(200)
      ["effectiveUri"]=>
      string(35) "https://sns.eu-west-1.amazonaws.com"
      ["headers"]=>
      array(5) {
        ["x-amzn-requestid"]=>
        string(36) "b697234344422cvqe41a72-7f70-5ae6-a454dc-4e810f36483d"
        ["content-type"]=>
        string(8) "text/xml"
        ["content-length"]=>
        string(3) "316"
        ["date"]=>
        string(29) "Fri, 01 Mar 2019 17:38:14 GMT"
        ["connection"]=>
        string(5) "close"
      }
      ["transferStats"]=>
      array(1) {
        ["http"]=>
        array(1) {
          [0]=>
          array(0) {
          }
        }
      }
    }
  }
  ["monitoringEvents":"Aws\Result":private]=>
  array(0) {
  }
}

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Согласно документации AWS вы можете сделать это, используя метод get:

$yourObject->get("TopicArn");
0 голосов
/ 01 марта 2019

Допустим, $obj - это переменная вашего объекта в PHP.Тогда вы можете сделать,

echo $obj->get('TopicArn');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...