Gestion des sujets dans Amazon SNS avec la version 3 AWS SDK for PHP - AWS SDK for PHP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des sujets dans Amazon SNS avec la version 3 AWS SDK for PHP

Pour envoyer des notifications à Amazon Simple Queue Service (Amazon SQS), à des URL HTTP/HTTPS, à des e-mails AWS Lambda ou à des e-mailsAWS SMS, vous devez d'abord créer une rubrique qui gère la distribution des messages à tous les abonnés de cette rubrique.

En termes de conception du modèle d’observateur, une rubrique correspond à l’objet. Une fois qu’une rubrique est créée, vous ajoutez des abonnés qui reçoivent automatiquement une notification lorsqu’un message est publié dans cette rubrique.

Pour en savoir plus sur l'abonnement à des rubriques, consultez la section Gestion des abonnements dans Amazon SNS AWS SDK for PHP avec la version 3.

Les exemples suivants montrent comment :

  • Créez une rubrique pour publier des notifications d'utilisation CreateTopic.

  • Renvoie une liste des sujets du demandeur à l'aide ListTopicsde.

  • Supprimez un sujet et tous ses abonnements à l'aide de DeleteTopic.

  • Renvoie toutes les propriétés d'une rubrique en utilisant GetTopicAttributes.

  • Autoriser le propriétaire d'une rubrique à attribuer une nouvelle valeur à un attribut de la rubrique en utilisant SetTopicAttributes.

Pour plus d'informations sur l'utilisation d'Amazon SNS, consultez la rubrique Attributs d'Amazon SNS relatifs à l'état de livraison des messages.

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Créer une rubrique

Pour créer un sujet, utilisez l'CreateTopicopération.

Chaque nom de rubrique Compte AWS doit être unique.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

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

Listez vos sujets

Pour répertorier jusqu'à 100 sujets existants dans la AWS région actuelle, utilisez l'ListTopicsopération.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

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

Supprimer une rubrique

Pour supprimer un sujet existant et tous ses abonnements, utilisez l'DeleteTopicopération.

Les messages qui n’ont pas encore été livrés aux abonnés seront également supprimés.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

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

Obtenir les attributs des rubriques

Pour récupérer les propriétés d'une seule rubrique existante, utilisez l'GetTopicAttributesopération.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

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

Définir les attributs de la rubrique

Pour mettre à jour les propriétés d'une seule rubrique existante, utilisez l'SetTopicAttributesopération.

Vous ne pouvez définir que les attributs Policy, DisplayName et DeliveryPolicy.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

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