Invio di notifiche dal cloud utilizzando Amazon Simple Notification Service - AWS SDK for .NET

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di notifiche dal cloud utilizzando Amazon Simple Notification Service

Nota

Le informazioni in questo argomento sono specifiche per i progetti basati su.NET Framework e la AWS SDK for .NET versione 3.3 e precedenti.

AWS SDK for .NET Supporta Amazon Simple Notification Service (Amazon SNS), un servizio Web che consente alle applicazioni, agli utenti finali e ai dispositivi di inviare istantaneamente notifiche dal cloud. Per ulteriori dettagli, consulta la pagina Amazon SNS.

Elencare gli argomenti relativi ad Amazon SNS

L'esempio seguente mostra come elencare gli argomenti di Amazon SNS, le sottoscrizioni a ciascun argomento e gli attributi per ogni argomento. Questo esempio utilizza l'impostazione predefinita. 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));

Invio di un messaggio a un argomento Amazon SNS

L'esempio seguente mostra come inviare un messaggio a un argomento di Amazon SNS. L'esempio utilizza un argomento, l'ARN dell'argomento 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); } } } }

Guarda l'esempio completo, che include informazioni su come creare ed eseguire l'esempio dalla riga di comando, su. GitHub

Invio di un messaggio SMS a un numero di telefono

L'esempio seguente mostra come inviare un messaggio SMS a un numero di telefono. L'esempio prende un argomento, il numero di telefono, che deve essere in uno dei due formati descritti nei commenti.

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

Guarda l'esempio completo, che include informazioni su come creare ed eseguire l'esempio dalla riga di comando, su GitHub.