Publication dans une rubrique - Amazon Simple Notification Service

Publication dans une rubrique

Vous pouvez publier simultanément un seul message SMS à plusieurs numéros de téléphone en abonnant ces numéros de téléphone à une rubrique Amazon SNS. Une rubrique SNS est un canal de communication auquel vous pouvez ajouter des abonnés. Vous pouvez ensuite publier des messages à tous les abonnés. Un abonné reçoit tous les messages publiés dans la rubrique jusqu'à ce que vous annuliez l'abonnement ou jusqu'à ce qu'il refuse de recevoir des SMS provenant de votre compte AWS.

Envoi d'un message à une rubrique (console)

Pour créer une rubrique

Procédez comme suit si vous ne disposez pas encore d'une rubrique à laquelle envoyer des SMS.

  1. Connectez-vous à la console Amazon SNS.

  2. Dans le menu de la console, choisissez une région AWS qui prend en charge la messagerie SMS.

  3. Dans le panneau de navigation, sélectionnez Topics (Rubriques).

  4. Sur la page Rubriques, choisissez Créer une rubrique.

  5. Sur la page Créer une rubrique sous Détails, procédez comme suit :

    1. Pour Type, choisissez Standard.

    2. Pour Nom de la rubrique, saisissez un nom de rubrique.

    3. (Facultatif) Dans le champ Nom d'affichage, saisissez un préfixe personnalisé pour vos messages SMS. Lorsque vous envoyez un message à la rubrique, Amazon SNS ajoute le nom d'affichage suivi d'un signe supérieur (>) et d'un espace. Les noms d'affichage ne sont pas sensibles à la casse et Amazon SNS les convertit en majuscules. Par exemple, si le nom d'affichage d'une rubrique est MyTopic et que le message est Hello World!, le message se présente comme suit :

      MYTOPIC> Hello World!
  6. Choisissez Create topic. Le nom de la rubrique et l'Amazon Resource Name (ARN) apparaissent sur la page Rubriques.

Pour créer un abonnement aux SMS

Vous pouvez utiliser les abonnements pour envoyer un SMS à plusieurs destinataires en publiant le message une seule fois dans votre rubrique.

Note

Lorsque vous commencez à utiliser Amazon SNS pour envoyer des messages SMS, votre compte AWS se trouve dans l'environnement de test (sandbox) pour SMS. L'environnement de test (sandbox) pour SMS offre un environnement sûr pour vous permettre d'essayer les fonctionnalités d'Amazon SNS sans risquer votre réputation d'expéditeur SMS. Même si votre compte se trouve dans l'environnement de test (sandbox) pour SMS, vous pouvez utiliser toutes les fonctionnalités d'Amazon SNS, mais vous pouvez envoyer des SMS uniquement à des numéros de téléphone de destination vérifiés. Pour plus d'informations, consultez Environnement de test (sandbox) pour SMS.

  1. Connectez-vous à la console Amazon SNS.

  2. Dans le panneau de navigation, choisissez Abonnements.

  3. Sur la page Subscriptions (Abonnements), choisissez Create subscription (Créer un abonnement).

  4. Sur la page Créer un abonnement, sous Détails, procédez comme suit :

    1. Pour ARN de rubrique, saisissez ou choisissez l'ARN (Amazon Resource Name) de la rubrique à laquelle vous souhaitez envoyer des SMS.

    2. Pour Protocole, choisissez SMS.

    3. Pour Point de terminaison, saisissez le numéro de téléphone que vous souhaitez abonner à votre rubrique.

  5. Choisissez Créer un abonnement. Les informations d'abonnement s'affichent sur la page Abonnements.

    Pour ajouter d'autres numéros de téléphone, répétez ces étapes. Vous pouvez également ajouter d'autres types d'abonnements, tels que la messagerie électronique.

Pour envoyer un message

Lorsque vous publiez un message dans une rubrique, Amazon SNS tente de livrer ce message à chaque numéro de téléphone qui est abonné à la rubrique.

  1. Dans la console Amazon SNS, sur la page Rubriques, choisissez le nom de la rubrique à laquelle envoyer des SMS.

  2. Sur la page des détails de la rubrique, sélectionnez Publier le message.

  3. Sur la page Publier un message dans la rubrique, sous Détails du message, procédez comme suit :

    1. Pour Objet, laissez le champ vide, sauf si votre rubrique contient des abonnements par e-mail et que vous voulez effectuer une publication à la fois dans des abonnements par e-mail et par SMS. Amazon SNS utilise l'Objet que vous saisissez en tant que ligne d'objet de l'e-mail.

    2. (Facultatif) Pour time-to-live (TTL), saisissez un certain nombre de secondes pendant lesquelles Amazon SNS doit envoyer votre message SMS à tous les abonnés aux points de terminaison d'une application mobile.

  4. Sous Corps du message, procédez comme suit :

    1. Pour Structure des messages, choisissez Charge utile identique pour tous les protocoles de distribution pour envoyer le même message à tous les types de protocoles abonnés à votre rubrique. Ou, choisissez Charge utile personnalisée pour chaque protocole de distribution pour personnaliser le message pour les abonnés de différents types de protocole. Par exemple, vous pouvez saisir un message par défaut pour les abonnés à un numéro de téléphone et un message personnalisé pour les abonnés à un courrier électronique.

    2. Pour Corps du message à envoyer au point de terminaison, saisissez votre message ou vos messages personnalisés par protocole de distribution.

      Si votre rubrique possède un nom d'affichage, Amazon SNS l'ajoute au message, augmentant ainsi sa longueur. La longueur du nom affiché représente le nombre de caractères dans le nom plus deux caractères pour le signe supérieur (>) et l'espace ajoutés par Amazon SNS.

      Pour plus d'informations sur les quotas de taille pour les SMS, consultez Publication sur un téléphone mobile.

  5. (Facultatif) Pour Attributs de message, ajoutez des métadonnées de message telles que des horodatages, des signatures et des ID.

  6. Choisissez Publier le message. Amazon SNS envoie le message SMS et affiche un message de réussite.

Envoi d'un message à une rubrique (kits SDK AWS)

Pour utiliser un kit SDK AWS, vous devez le configurer avec vos informations d'identification. Pour de plus amples informations, veuillez consulter Les fichiers de configuration et d'informations d'identification partagés dans le AWSGuide de référence des kits SDK et des outils.

L'exemple de code suivant illustre comment :

  • Créer une rubrique Amazon SNS.

  • Abonner des numéros de téléphone à la rubrique.

  • Publier des messages SMS dans la rubrique afin que tous les numéros de téléphone abonnés reçoivent le message en même temps.

Java
Kit SDK pour Java 1.x
Astuce

Pour découvrir comment configurer et exécuter cet exemple, consultez GitHub.

Créer une rubrique et renvoyez son ARN.

public static String createSNSTopic(AmazonSNSClient snsClient) { CreateTopicRequest createTopic = new CreateTopicRequest("mySNSTopic"); CreateTopicResult result = snsClient.createTopic(createTopic); System.out.println("Create topic request: " + snsClient.getCachedResponseMetadata(createTopic)); System.out.println("Create topic result: " + result); return result.getTopicArn(); }

Abonner un point de terminaison à une rubrique

public static void subscribeToTopic(AmazonSNSClient snsClient, String topicArn, String protocol, String endpoint) { SubscribeRequest subscribe = new SubscribeRequest(topicArn, protocol, endpoint); SubscribeResult subscribeResult = snsClient.subscribe(subscribe); System.out.println("Subscribe request: " + snsClient.getCachedResponseMetadata(subscribe)); System.out.println("Subscribe result: " + subscribeResult); }

Définir des attributs sur le message, tels que l'ID de l'expéditeur, le prix maximal et son type. Les attributs de message sont facultatifs.

public static void addMessageAttributes(Map<String, MessageAttributeValue> smsAttributes) { smsAttributes.put("AWS.SNS.SMS.SenderID", new MessageAttributeValue() .withStringValue("mySenderID") //The sender ID shown on the device. .withDataType("String")); smsAttributes.put("AWS.SNS.SMS.MaxPrice", new MessageAttributeValue() .withStringValue("0.50") //Sets the max price to 0.50 USD. .withDataType("Number")); smsAttributes.put("AWS.SNS.SMS.SMSType", new MessageAttributeValue() .withStringValue("Promotional") //Sets the type to promotional. .withDataType("String")); }

Publier un message dans une rubrique Le message est envoyé à chaque abonné.

public static void sendSMSMessageToTopic(AmazonSNSClient snsClient, String topicArn, String message, Map<String, MessageAttributeValue> smsAttributes) { PublishResult result = snsClient.publish(new PublishRequest() .withTopicArn(topicArn) .withMessage(message) .withMessageAttributes(smsAttributes)); System.out.println(result); }

Appelez les fonctions précédentes pour créer une rubrique, abonner un numéro de téléphone, définir des attributs de message et publier un message dans la rubrique.

public static void main(String[] args) { AmazonSNSClient snsClient = new AmazonSNSClient(); String topicArn = createSNSTopic(snsClient); String phoneNumber = "+1XXX5550100"; // Specify a protocol of "sms" when subscribing a phone number. subscribeToTopic(snsClient, topicArn, "sms", phoneNumber); String message = "My SMS message"; Map<String, MessageAttributeValue> smsAttributes = new HashMap<String, MessageAttributeValue>(); addMessageAttributes(smsAttributes) sendSMSMessageToTopic(snsClient, topicArn, message, smsAttributes); }