Verwalten von Themen in Amazon SNS mit AWS SDK for PHP Version 3 - AWS SDK for PHP

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 GitHubverfügbar.

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()); }