2017-06-20 1 views
2

Je suis nouveau à AWS et en essayant de configurer mon système pour envoyer des SMS à l'utilisateur final après la réservation comme un message de confirmation.Amazon AWS SNS pour l'envoi SMS ne peut pas envoyer de SMS, le statut de retour est "WaitingForActivation"

Je l'ai fait jusqu'à présent ci-dessous:

AmazonSimpleNotificationServiceClient smsClient = new AmazonSimpleNotificationServiceClient(key, secreteKey, token, Amazon.RegionEndpoint.APSoutheast2); 

      var smsAttributes = new Dictionary<string, MessageAttributeValue>(); 

      MessageAttributeValue senderID = new MessageAttributeValue(); 
      senderID.DataType = "String"; 
      senderID.StringValue = "my-sender-id"; 

      MessageAttributeValue sMSType = new MessageAttributeValue(); 
      senderID.DataType = "String"; 
      senderID.StringValue = "Transactional"; 

      CancellationTokenSource source = new CancellationTokenSource(); 
      CancellationToken token = source.Token; 


      smsAttributes.Add("SenderID", senderID); 
      smsAttributes.Add("SMSType", sMSType); 

      PublishRequest publishRequest = new PublishRequest(); 
      publishRequest.Message = "This is 2nd sample message"; 
      publishRequest.MessageAttributes = smsAttributes; 
      publishRequest.PhoneNumber = "my number with + and country code"; 

      Task<PublishResponse> result = smsClient.PublishAsync(publishRequest, token); 

mais je ne reçoivent pas de SMS.

Comme je déboguer le code, j'ai vu ci-dessous un message: enter image description here

peut-elle aider quelqu'un s'il vous plaît.

Répondre

2

Je resoved cette question avec les modifications ci-dessous, change le SenderID à AWS.SNS.SMS.SenderID et sMSType à AWS.SNS.SMS.SMSType

Ainsi, au total, le flux global est comme

  1. Télécharger pépite pour AWSSDK pour simple notification v3.3.5.12

  2. utilisation ci-dessous méthode simple pour l'envoi de SMS unique.

ci-dessous est l'extrait de travail avec C# .NET noyau 1,1

AmazonSimpleNotificationServiceClient smsClient = new AmazonSimpleNotificationServiceClient(my_access_key, my_secret_key, Amazon.RegionEndpoint.APSoutheast2); 


       var smsAttributes = new Dictionary<string, MessageAttributeValue>(); 

       MessageAttributeValue senderID = new MessageAttributeValue(); 
       senderID.DataType = "String"; 
       senderID.StringValue = "mySenderId"; 

       MessageAttributeValue sMSType = new MessageAttributeValue(); 
       sMSType.DataType = "String"; 
       sMSType.StringValue = "Transactional"; 

       MessageAttributeValue maxPrice = new MessageAttributeValue(); 
       maxPrice.DataType = "Number"; 
       maxPrice.StringValue = "0.5"; 

       CancellationTokenSource source = new CancellationTokenSource(); 
       CancellationToken token = source.Token; 


       smsAttributes.Add("AWS.SNS.SMS.SenderID", senderID); 
       smsAttributes.Add("AWS.SNS.SMS.SMSType", sMSType); 
       smsAttributes.Add("AWS.SNS.SMS.MaxPrice", maxPrice); 

       PublishRequest publishRequest = new PublishRequest(); 
       publishRequest.Message = "This is 2nd sample message"; 
       publishRequest.MessageAttributes = smsAttributes; 
       publishRequest.PhoneNumber = "received phone no with + and country code"; 

       Task<PublishResponse> result = smsClient.PublishAsync(publishRequest, token); 
+0

comment vérifier les journaux pour cette coz j'ai essayé votre code, construire est réussie mais pas l'envoi de SMS, ni donner aucune erreur –

+1

Vous pouvez vérifier l'état dans Résultat de la tâche avec le débogage ou vous pouvez définir un compartiment pour le rapport SNS dans la console AWS et vérifier le rapport. Si vous tentez cette opération pour la première fois, AWS limite la limite de dépenses SMS à 1 USD pour le compte. Vous devrez peut-être envoyer une demande d'augmentation de la limite de quota SMS. Juste pour vérifier si votre quota est épuisé essayez d'envoyer des SMS depuis la console SNS. –