Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwalten von Themen in Amazon SNS mit AWS SDK for PHP Version 3
Um Benachrichtigungen an Amazon Simple Queue Service (Amazon SQS), HTTP/HTTPS-URLs , E-MailAWS SMS, oder zu sendenAWS Lambda, müssen Sie zunächst ein Thema erstellen, das die Zustellung von Nachrichten an alle Abonnenten dieses Themas verwaltet.
Im Hinblick auf das Entwurfsmuster ist ein Thema für den Beobachter mit dem Betreff vergleichbar. Nach dem Erstellen eines Themas können Sie Abonnenten hinzufügen, die automatisch benachrichtigt werden, wenn eine Nachricht im Thema veröffentlicht wird.
Weitere Informationen zum Abonnieren von Themen finden Sie unter Verwalten von Abonnements in Amazon SNS mit AWS SDK for PHP Version 3.
In den nachstehenden Beispielen wird Folgendes veranschaulicht:
-
Erstellen Sie ein Thema zum Veröffentlichen von Benachrichtigungen in mithilfe von CreateTopic.
-
Gibt eine Liste der Themen des Anforderers mit zurückListTopics.
-
Löschen Sie ein Thema und alle seine Abonnements mit DeleteTopic.
-
Gibt alle Eigenschaften eines Themas mit zurückGetTopicAttributes.
-
Erlauben Sie einem Themenbesitzer, ein Attribut des Themas mithilfe von auf einen neuen Wert festzulegenSetTopicAttributes.
Weitere Informationen zur Verwendung von Amazon SNS finden Sie unter Amazon SNS-Themenattribute für den Nachrichtenzustellungsstatus .
Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHub
Anmeldeinformationen
Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.
Erstellen eines Themas
Um ein Thema zu erstellen, verwenden Sie die -CreateTopicOperation.
Jeder Themenname in Ihrem AWS-Konto muss eindeutig sein.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Beispiel-Code
$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topicname = 'myTopic'; try { $result = $SnSclient->createTopic([ 'Name' => $topicname, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Auflisten Ihrer Themen
Um bis zu 100 vorhandene Themen in der aktuellen AWS Region aufzulisten, verwenden Sie die -ListTopicsOperation.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Beispiel-Code
$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->listTopics(); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Löschen eines Themas
Um ein vorhandenes Thema und alle seine Abonnements zu entfernen, verwenden Sie die -DeleteTopicOperation.
Alle Nachrichten, die den Abonnenten noch nicht zugestellt wurden, werden ebenfalls gelöscht.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Beispiel-Code
$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->deleteTopic([ 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Abrufen von Themenattributen
Um Eigenschaften eines einzelnen vorhandenen Themas abzurufen, verwenden Sie die -GetTopicAttributesOperation.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Beispiel-Code
$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->getTopicAttributes([ 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Festlegen von Themenattributen
Um die Eigenschaften eines einzelnen vorhandenen Themas zu aktualisieren, verwenden Sie die -SetTopicAttributesOperation.
Sie können nur die Attribute Policy
, DisplayName
und DeliveryPolicy
festlegen.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Beispiel-Code
$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $attribute = 'Policy | DisplayName | DeliveryPolicy'; $value = 'First Topic'; $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->setTopicAttributes([ 'AttributeName' => $attribute, 'AttributeValue' => $value, 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }