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