Envoyer des notifications depuis le cloud à l'aide d'Amazon Simple Notification Service - AWS SDK for .NET

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.

Envoyer des notifications depuis le cloud à l'aide d'Amazon Simple Notification Service

Note

Les informations contenues dans cette rubrique sont spécifiques aux projets basés sur .NET Framework et les AWS SDK for .NET versions 3.3 et antérieures.

Il AWS SDK for .NET prend en charge Amazon Simple Notification Service (Amazon SNS), un service Web qui permet aux applications, aux utilisateurs finaux et aux appareils d'envoyer instantanément des notifications depuis le cloud. Pour plus d'informations, consultez Amazon SNS.

Répertorier vos rubriques Amazon SNS

L'exemple suivant montre comment répertorier vos rubriques Amazon SNS, les abonnements à chaque rubrique et les attributs de chaque rubrique. Cet exemple utilise la valeur par défaut AmazonSimpleNotificationServiceClient.

// using Amazon.SimpleNotificationService; // using Amazon.SimpleNotificationService.Model; var client = new AmazonSimpleNotificationServiceClient(); var request = new ListTopicsRequest(); var response = new ListTopicsResponse(); do { response = client.ListTopics(request); foreach (var topic in response.Topics) { Console.WriteLine("Topic: {0}", topic.TopicArn); var subs = client.ListSubscriptionsByTopic( new ListSubscriptionsByTopicRequest { TopicArn = topic.TopicArn }); var ss = subs.Subscriptions; if (ss.Any()) { Console.WriteLine(" Subscriptions:"); foreach (var sub in ss) { Console.WriteLine(" {0}", sub.SubscriptionArn); } } var attrs = client.GetTopicAttributes( new GetTopicAttributesRequest { TopicArn = topic.TopicArn }).Attributes; if (attrs.Any()) { Console.WriteLine(" Attributes:"); foreach (var attr in attrs) { Console.WriteLine(" {0} = {1}", attr.Key, attr.Value); } } Console.WriteLine(); } request.NextToken = response.NextToken; } while (!string.IsNullOrEmpty(response.NextToken));

Envoyer un message à une rubrique Amazon SNS

L'exemple suivant montre comment envoyer un message à une rubrique Amazon SNS. L'exemple prend un argument, l'ARN de la rubrique Amazon SNS.

using System; using System.Linq; using System.Threading.Tasks; using Amazon; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; namespace SnsSendMessage { class Program { static void Main(string[] args) { /* Topic ARNs must be in the correct format: * arn:aws:sns:REGION:ACCOUNT_ID:NAME * * where: * REGION is the region in which the topic is created, such as us-west-2 * ACCOUNT_ID is your (typically) 12-character account ID * NAME is the name of the topic */ string topicArn = args[0]; string message = "Hello at " + DateTime.Now.ToShortTimeString(); var client = new AmazonSimpleNotificationServiceClient(region: Amazon.RegionEndpoint.USWest2); var request = new PublishRequest { Message = message, TopicArn = topicArn }; try { var response = client.Publish(request); Console.WriteLine("Message sent to topic:"); Console.WriteLine(message); } catch (Exception ex) { Console.WriteLine("Caught exception publishing request:"); Console.WriteLine(ex.Message); } } } }

Consultez l'exemple complet, y compris les informations sur la façon de créer et d'exécuter l'exemple à partir de la ligne de commande, sur GitHub.

Envoi d'un SMS à un numéro de téléphone

L'exemple suivant montre comment envoyer un SMS à un numéro de téléphone. L'exemple utilise un argument, le numéro de téléphone, qui doit être dans l'un des deux formats décrits dans les commentaires.

using System; using System.Linq; using System.Threading.Tasks; using Amazon; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; namespace SnsPublish { class Program { static void Main(string[] args) { // US phone numbers must be in the correct format: // +1 (nnn) nnn-nnnn OR +1nnnnnnnnnn string number = args[0]; string message = "Hello at " + DateTime.Now.ToShortTimeString(); var client = new AmazonSimpleNotificationServiceClient(region: Amazon.RegionEndpoint.USWest2); var request = new PublishRequest { Message = message, PhoneNumber = number }; try { var response = client.Publish(request); Console.WriteLine("Message sent to " + number + ":"); Console.WriteLine(message); } catch (Exception ex) { Console.WriteLine("Caught exception publishing request:"); Console.WriteLine(ex.Message); } } } }

Consultez l'exemple complet, y compris les informations sur la façon de créer et d'exécuter l'exemple à partir de la ligne de commande, sur GitHub.