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
Любая помощь очень ценится! Спасибо!