Beispiel #1
0
 private void Ensure()
 {
     if (!TopicExists())
     {
         var request = new CreateTopicRequest();
         request.Name = TopicName;
         var response = _snsClient.CreateTopic(request);
         TopicArn = response.TopicArn;
     }
     if (!string.IsNullOrEmpty(SubscriptionName))
     {
         _queueClient = new QueueClient(SubscriptionName);
         if (!SubscriptionExists())
         {
             var response = _snsClient.Subscribe(new SubscribeRequest
             {
                 TopicArn = TopicArn,
                 Protocol = "sqs",
                 Endpoint = _queueClient.QueueArn
             });
             _subscriptionArn = response.SubscriptionArn;
             var attrRequest = new SetSubscriptionAttributesRequest
             {
                 AttributeName   = "RawMessageDelivery",
                 AttributeValue  = "true",
                 SubscriptionArn = _subscriptionArn
             };
             _snsClient.SetSubscriptionAttributes(attrRequest);
             _queueClient.AllowSnsToSendMessages(this);
         }
     }
 }
Beispiel #2
0
        private void CreateSubscriptionInSnS(string email, int stationId)
        {
            Console.WriteLine("Starting creation of SnS Subscription...");
            Console.WriteLine(string.Format("Input parameters: email: {0}, stationId: {1}", email, stationId));
            SubscribeRequest request  = new SubscribeRequest(SnSTopic, "email", email);
            var    response           = snsClient.Subscribe(request);
            string filterPolicyString = string.Format("{\"stationId\":[\"{0}\"]}", stationId);
            SetSubscriptionAttributesRequest attributeRequest = new SetSubscriptionAttributesRequest(response.SubscriptionArn, "FilterPolicy", filterPolicyString);

            snsClient.SetSubscriptionAttributes(attributeRequest);
        }