AWS php sdk v3.* SnsClient->subscribe успешно подписывает конечную точку на тему, но сценарий умирает. Что тут происходит?

Я работаю над веб-приложением, которое позволяет пользователям подписываться на оповещения с помощью текстовых сообщений, используя темы и подписки AWS-SNS. В довольно надуманном образце ниже у меня есть тема, на которую я могу подписаться, используя php sdk (v3.*), Однако скрипт умирает и не выдает ошибок, когда я подписан.

Экземпляру EC2, из которого запускается мое приложение, была назначена роль со следующим:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "sns:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Вот образец того, что у меня есть:

composer.json

{
  "require": {
    "aws/aws-sdk-php": "^3.52"
  }
}

AlertSubscriptionService (служба, к которой мое приложение подключается и взаимодействует с любым провайдером службы обмена сообщениями, который я выберу - в данном случае aws sns)

<?php

require "../../vendor/autoload.php";

use Aws\Sns\SnsClient;

class AlertSubscriptionService {

    private $snsClient;
    private $region = 'us-east-1';


    public function __construct() {
        $this->snsClient = new SnsClient([
            'version' => 'latest',
            'region' => $this->region
        ]);
    }

    public function addSubscriber() {
        try {
            $result = $this->snsClient->subscribe([
                    'TopicArn' => 'arn:aws:sns:us-east-1:myaccount:myTopic',
                    'Protocol' => 'sms',
                    'Endpoint' => '1-555-555-5555'
                ]
            );
        } catch (Exception $e) {
            var_dump($e);
        }
        echo 'Finished';
    }

}

В настоящее время все аргументы метода подписки жестко закодированы. Когда я вызываю этот метод addSubscriber(), действительная конечная точка телефонного номера (скрытая для образца) успешно добавляется в подписки на тему, но сценарий, в котором он выполняется, умирает и не выдает ошибок. Текст Готово никогда не отображается.

Я, вероятно, упускаю что-то невероятно простое, но еще не видел этого... Я часами читаю документацию aws https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-sns-2010-03-31.html

Любая помощь очень ценится! Спасибо!

0 ответов

Другие вопросы по тегам