我对Amazon有一个奇怪的问题:当使用aws-php-sdk (3.112.7)创建订阅和主题时,总是有“幽灵”或“不可见的”订阅。

如您所见,此订阅存在于“订阅”选项卡中。但是,当我单击主题链接(此处为cav_56826)时,无法看到任何订阅。

你们也有过类似的问题吗?怎么会发生这种事?
这里是我的简化代码:
try
{
$arn = "arn:aws:sns:eu-west-1:XXXXXXXXXXXXXXXXX:app/APNS_VOIP_SANDBOX/ios_cav";
$topics = array("allUsers", "cav_56826");
$topicsToSubcribe = array();
foreach ($topics as $topic)
{
$res = $this->snsClient->createTopic(['Name' => $topic]);
if ($res->get('@metadata')['statusCode'] == 200)
{
array_push($topicsToSubcribe, $res->get('TopicArn'));
}
else
{
throw new Exception("An error occured during Amazon SNS createTopic", $res->get('@metadata')['statusCode']);
}
}
$SNSEndPointData = $this->snsClient->createPlatformEndpoint([
'PlatformApplicationArn' => $arn,
'Token' => $token
]);
foreach ($topicsToSubcribe as $topic)
{
$this->snsClient->subscribe([
'Protocol' => "application",
'Endpoint' => $SNSEndPointData->get('EndpointArn'),
'TopicArn' => $topic
]);
}
}
catch (\Exception $e)
{
// Logs some errors
}发布于 2020-01-10 16:25:27
通过使用PHP 5.6.40和AWS 3.122.0 (发现的这里)和下面的代码,在做了一些更改之后,我可以看到预期的/正确的行为正在发生。
<?php
require '/usr/src/myapp/aws.phar';
$sdk = new Aws\Sdk([
'region' => 'us-east-1',
'version' => 'latest',
]);
$snsClient = $sdk->createSns();
$token = "XX:YY";
try
{
$arn = "arn:aws:sns:us-east-1:360479286475:app/GCM/test-stackoverflow";
$topics = array("allUsers", "cav_56826");
$topicsToSubcribe = array();
foreach ($topics as $topic)
{
$res = $snsClient->createTopic(['Name' => $topic]);
if ($res->get('@metadata')['statusCode'] == 200)
{
array_push($topicsToSubcribe, $res->get('TopicArn'));
}
else
{
throw new Exception("An error occured during Amazon SNS createTopic", $res->get('@metadata')['statusCode']);
}
}
$SNSEndPointData = $snsClient->createPlatformEndpoint([
'PlatformApplicationArn' => $arn,
'Token' => $token
]);
foreach ($topicsToSubcribe as $topic)
{
$snsClient->subscribe([
'Protocol' => "application",
'Endpoint' => $SNSEndPointData->get('EndpointArn'),
'TopicArn' => $topic
]);
}
}
catch (\Exception $e)
{
// Logs some errors
}
?>所有订阅:

"allUsers“订阅:

希望这能有所帮助。
https://stackoverflow.com/questions/57576738
复制相似问题