internal GetQueueUrlResponse GetQueueUrl(GetQueueUrlRequest request)
        {
            var marshaller   = new GetQueueUrlRequestMarshaller();
            var unmarshaller = GetQueueUrlResponseUnmarshaller.Instance;

            return(Invoke <GetQueueUrlRequest, GetQueueUrlResponse>(request, marshaller, unmarshaller));
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Initializing Amazon SQS Client and getting queue URL...");
            var sqsClient          = new AmazonSQSClient();
            var getQueueUrlRequest = new GetQueueUrlRequest
            {
                QueueName = "DemoMasterWorkerPattern",
                QueueOwnerAWSAccountId = "545983628851"
            };
            var getQueueUrlResponse = sqsClient.GetQueueUrlAsync(getQueueUrlRequest).Result;
            var queueUrl            = getQueueUrlResponse.QueueUrl;

            Console.WriteLine($"Received Queue URL: {queueUrl}");

            while (true)
            {
                Console.Write("Type a message to be sent to the queue or type 'exit' to quit: ");
                var message = Console.ReadLine();
                if (string.Equals(message, "exit", StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }

                Console.WriteLine($"Sending message with content '{message}' to the queue...");
                var sendMessageRequest = new SendMessageRequest();
                sendMessageRequest.QueueUrl    = queueUrl;
                sendMessageRequest.MessageBody = message;
                var sendMessageResponse = sqsClient.SendMessageAsync(sendMessageRequest).Result;
                Console.WriteLine("Message has been sent.");
                Console.WriteLine($"HttpStatusCode: {sendMessageResponse.HttpStatusCode}");
            }
        }
示例#3
0
        /// <summary>
        /// Initiates the asynchronous execution of the GetQueueUrl operation.
        /// <seealso cref="Amazon.SQS.IAmazonSQS"/>
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the GetQueueUrl operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public Task <GetQueueUrlResponse> GetQueueUrlAsync(GetQueueUrlRequest request, CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new GetQueueUrlRequestMarshaller();
            var unmarshaller = GetQueueUrlResponseUnmarshaller.Instance;

            return(Invoke <IRequest, GetQueueUrlRequest, GetQueueUrlResponse>(request, marshaller, unmarshaller, signer, cancellationToken));
        }
示例#4
0
        public async Task <IActionResult> SQS()
        {
            var results = new List <string>();

            var attrs = new Dictionary <string, string>();

            attrs.Add(QueueAttributeName.VisibilityTimeout, "10");
            var createQueueRequest = new CreateQueueRequest
            {
                QueueName  = "borislav_queue-1",
                Attributes = attrs
            };
            CreateQueueResponse createQueueResponse = await _sqsClient.CreateQueueAsync(createQueueRequest);

            results.Add($"Queue '{createQueueRequest.QueueName}' created with status {createQueueResponse.HttpStatusCode}");

            var request = new GetQueueUrlRequest
            {
                QueueName = "borislav_queue-1",
                QueueOwnerAWSAccountId = "363590124413"
            };
            GetQueueUrlResponse urlResponse = await _sqsClient.GetQueueUrlAsync(request);

            string url = urlResponse.QueueUrl;
            var    sendMessageRequest1 = new SendMessageRequest()
            {
                QueueUrl    = url,
                MessageBody = "{SQS_QUEUE_MESSAGE_1}"
            };
            var sendMessageResponse1 = await _sqsClient.SendMessageAsync(sendMessageRequest1);

            results.Add($"Message {sendMessageRequest1.MessageBody} sent with status {sendMessageResponse1.HttpStatusCode}");

            var sendMessageRequest2 = new SendMessageRequest()
            {
                QueueUrl    = url,
                MessageBody = "{SQS_QUEUE_MESSAGE_2}"
            };
            var sendMessageResponse2 = await _sqsClient.SendMessageAsync(sendMessageRequest2);

            results.Add($"Message {sendMessageRequest2.MessageBody} sent with status {sendMessageResponse2.HttpStatusCode}");

            var receiveMessageRequest = new ReceiveMessageRequest {
                QueueUrl = url
            };
            var receiveMessageResponse1 = await _sqsClient.ReceiveMessageAsync(receiveMessageRequest);

            var receiveMessageResponse2 = await _sqsClient.ReceiveMessageAsync(receiveMessageRequest);

            var receiveMessageResponse3 = await _sqsClient.ReceiveMessageAsync(receiveMessageRequest);

            results.AddRange(await ProcessMessages(receiveMessageResponse1, url));
            results.AddRange(await ProcessMessages(receiveMessageResponse2, url));
            //results.AddRange(await ProcessMessages(receiveMessageResponse3, url));

            ViewBag.Results = new List <string>();
            ViewBag.Results.AddRange(results);

            return(View());
        }
        private void GetMessages()
        {
            var queueUrlRequest       = new GetQueueUrlRequest("Messenger.fifo");
            var queueUrl              = _sqsClient.GetQueueUrl(queueUrlRequest).QueueUrl;
            var receiveMessageRequest = new ReceiveMessageRequest {
                QueueUrl = queueUrl
            };

            while ()
            {
                Task.Delay(TimeSpan.FromSeconds(1)).Wait();
                var receiveMessageResponse = _sqsClient.ReceiveMessage(receiveMessageRequest);
                foreach (var message in receiveMessageResponse.Messages)
                {
                    var deserializedMessage = JsonConvert.DeserializeObject <MessageModel>(message.Body);
                    if (deserializedMessage.ChatId.Equals(_parentViewModel.ChatId, StringComparison.InvariantCulture) && !deserializedMessage.Author.Equals(_parentViewModel.Author))
                    {
                        NewMessageReceived?.Invoke(deserializedMessage);
                        var messageRecieptHandle = receiveMessageResponse.Messages[0].ReceiptHandle;
                        var deleteRequest        = new DeleteMessageRequest
                        {
                            QueueUrl      = queueUrl,
                            ReceiptHandle = messageRecieptHandle
                        };
                        _sqsClient.DeleteMessage(deleteRequest);
                    }
                }
            }
        }
示例#6
0
        async Task ConfigureLambdaWithQueueAsync(string queueName)
        {
            string queueArn = null;

            AmazonSQSClient sqsClient = AwsFactory.CreateClient <AmazonSQSClient>();

            GetQueueUrlRequest queueUrlReq = new GetQueueUrlRequest();

            queueUrlReq.QueueName = queueName;

            GetQueueUrlResponse getQueueUrlResp = await sqsClient.GetQueueUrlAsync(queueUrlReq);

            GetQueueAttributesRequest queueAttribReq = new GetQueueAttributesRequest();

            queueAttribReq.AttributeNames.Add(QueueAttributeName.QueueArn);
            queueAttribReq.QueueUrl = getQueueUrlResp.QueueUrl;

            var queueAttribResp = await sqsClient.GetQueueAttributesAsync(queueAttribReq);

            queueArn = queueAttribResp.QueueARN;

            AmazonLambdaClient lambdaClient = AwsFactory.CreateClient <AmazonLambdaClient>();

            CreateEventSourceMappingRequest eventMappingReq = new CreateEventSourceMappingRequest();

            eventMappingReq.FunctionName   = "WebhookDispatcher";
            eventMappingReq.BatchSize      = 10;
            eventMappingReq.Enabled        = true;
            eventMappingReq.EventSourceArn = queueArn;

            await lambdaClient.CreateEventSourceMappingAsync(eventMappingReq);
        }
示例#7
0
        public void TestGetQueueUrl()
        {
            string queueName = "TestGetQueueUrl" + DateTime.Now.Ticks;
            CreateQueueResponse createResponse = Client.CreateQueue(new CreateQueueRequest()
            {
                QueueName = queueName
            });

            try
            {
                GetQueueUrlRequest request = new GetQueueUrlRequest()
                {
                    QueueName = queueName
                };
                GetQueueUrlResponse response = Client.GetQueueUrl(request);
                Assert.AreEqual(createResponse.QueueUrl, response.QueueUrl);
            }
            finally
            {
                Client.DeleteQueue(new DeleteQueueRequest()
                {
                    QueueUrl = createResponse.QueueUrl
                });
            }
        }
示例#8
0
        public async Task TestCreateQueueAsync()
        {
            queueName = setQueueName();
            // Check if any queue is already created
            var sqsQueueList = await sqsClient.ListQueuesAsync(prefix);

            Assert.IsFalse(sqsQueueList.QueueUrls.Count >= 1, "There is something in the queue already");

            // Create the queue
            CreateQueueResponse createResponse = await sqsClient.CreateQueueAsync(queueName);

            // Get the queue list. Assert is added to make sure that the queue is created and make sure that we only create 1 queue
            sqsQueueList = await sqsClient.ListQueuesAsync(prefix);

            Assert.IsTrue(sqsQueueList.QueueUrls.Count == 1, "Queue is not created or more than one queue is created");

            // Verify the queue list contains the queue name created before
            Assert.IsTrue(sqsQueueList.QueueUrls[0].Contains(queueName), "Queue name is not the same");

            // Verify the response created from when creating the queue is the same as the one we get from get queue URL
            var request  = new GetQueueUrlRequest(queueName);
            var response = sqsClient.GetQueueUrlAsync(request);

            Assert.AreEqual(createResponse.QueueUrl, response.Result.QueueUrl, "The queue URL is not the same");
        }
示例#9
0
        private string getQueueUrl(string queueName)
        {
            GetQueueUrlResponse s = null;
            string result         = string.Empty;

            try
            {
                GetQueueUrlRequest urlQueueRequest = new GetQueueUrlRequest
                {
                    QueueName = queueName
                };
                try
                {
                    s = amazonSQSClient.GetQueueUrlAsync(urlQueueRequest).Result;
                }
                catch (System.AggregateException)
                {
                    return(createQueue(queueName));
                }
                if (s.QueueUrl.Any())
                {
                    return(s.QueueUrl);
                }
                else
                {
                    return(createQueue(queueName));
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
示例#10
0
        public async Task GetQueueURLTest()
        {
            var mockClient = new Mock <IAmazonSQS>();

            mockClient.Setup(client => client.GetQueueUrlAsync(
                                 It.IsAny <GetQueueUrlRequest>(),
                                 It.IsAny <CancellationToken>()))
            .Returns((GetQueueUrlRequest r,
                      CancellationToken token) =>
            {
                return(Task.FromResult(new GetQueueUrlResponse()
                {
                    QueueUrl = _queueUrl,
                    HttpStatusCode = HttpStatusCode.OK,
                }));
            });

            var client = mockClient.Object;

            var request = new GetQueueUrlRequest
            {
                QueueName = "Example_Queue"
            };

            var getQueueUrlRequest = new GetQueueUrlRequest();
            var response           = await client.GetQueueUrlAsync(request);

            bool ok = response.HttpStatusCode == HttpStatusCode.OK;

            Assert.True(ok, $"Retrieved the URL for the queue: {response.QueueUrl}.");
        }
        static async Task PushToSQS(IClient client, string accountId)
        {
            var source     = new CancellationTokenSource();
            var sqsClient  = new AmazonSQSClient(RegionEndpoint.USEast1);
            var urlRequest = new GetQueueUrlRequest
            {
                QueueName = AWSConstructs.Names.FroniusIngressQueue,
                QueueOwnerAWSAccountId = accountId
            };
            var url = (await sqsClient.GetQueueUrlAsync(urlRequest))?.QueueUrl;

            if (url == null)
            {
                throw new Exception($"Failed to get SQS URL for: {JsonSerializer.Serialize(urlRequest)}");
            }
            Response?dataLast = null;

            while (true)
            {
                var data = await client.GetPowerFlowRealtimeData(source.Token);

                if (data?.Head.Timestamp == dataLast?.Head.Timestamp)
                {
                    await Task.Delay(10);

                    continue;
                }
                var dataJson = JsonSerializer.Serialize(data);
                var message  = new SendMessageRequest(url, dataJson);
                var response = await sqsClient.SendMessageAsync(message);

                Console.WriteLine($"{response.HttpStatusCode} | {response.MessageId} | {dataJson}");
                dataLast = data;
            }
        }
示例#12
0
        private async Task <string> GetQueueURL()
        {
            var request = new GetQueueUrlRequest(QueueName);
            var result  = await _client.GetQueueUrlAsync(request);

            return(result.QueueUrl);
        }
示例#13
0
        /// <summary>
        /// Gets the URL for the queue from its name.
        /// </summary>
        /// <param name="queueName">The name of the queue</param>
        /// <returns></returns>
        private async Task <string> GetQueueUrlAsync(string queueName)
        {
            var request  = new GetQueueUrlRequest(queueName);
            var response = await _client.GetQueueUrlAsync(request);

            return(response.QueueUrl);
        }
示例#14
0
        async Task VerifyQueueDeleted(string queueName, string prefix = null)
        {
            if (prefix == null)
            {
                prefix = DefaultConfigurationValues.QueueNamePrefix;
            }

            var getQueueUrlRequest = new GetQueueUrlRequest($"{prefix}{queueName}");
            GetQueueUrlResponse queueUrlResponse;
            var backOff    = 0;
            var executions = 0;

            do
            {
                try
                {
                    backOff = executions * executions * verificationBackoffInterval;
                    await Task.Delay(backOff);

                    executions++;

                    queueUrlResponse = await sqs.GetQueueUrlAsync(getQueueUrlRequest).ConfigureAwait(false);
                }
                catch (QueueDoesNotExistException)
                {
                    // expected
                    queueUrlResponse = null;
                }
            } while (queueUrlResponse != null && backOff < maximumBackoffInterval);

            Assert.IsNull(queueUrlResponse);
        }
示例#15
0
        public static async Task <string> GetUrl(IAmazonSQS sqs, string prefix, string endpointName)
        {
            var queueName          = $"{prefix}{endpointName}";
            var getQueueUrlRequest = new GetQueueUrlRequest(queueName);
            var queueUrlResponse   = await sqs.GetQueueUrlAsync(getQueueUrlRequest).ConfigureAwait(false);

            return(queueUrlResponse.QueueUrl);
        }
示例#16
0
        public async Task <GetQueueUrlResponse> GetQueueUrl()
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = _QueueName,
            };

            return(await _AmazonSQSClient.GetQueueUrlAsync(request));
        }
        /// <summary>
        ///     Creates the queue with the given name
        /// </summary>
        public void CreateQueue(string address)
        {
            m_log.Info("Creating queue {queueName} on region {regionEndpoint}", address, m_AmazonInternalSettings.AmazonSqsConfig.RegionEndpoint);

            var amazonSqsConfig = m_AmazonInternalSettings.AmazonSqsConfig;
            var awsCredentials  = m_AmazonInternalSettings.AmazonCredentialsFactory.Create();

            using (var client = new AmazonSQSClient(awsCredentials, amazonSqsConfig))
            {
                var queueName = GetQueueNameFromAddress(address);

                // Check if queue exists
                try
                {
                    var request = new GetQueueUrlRequest(queueName);
                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSGetQueueUrlRequest.html for options
                    var getQueueUrlTask = client.GetQueueUrlAsync(request);
                    AsyncHelpers.RunSync(() => getQueueUrlTask);
                    var getQueueUrlResponse = getQueueUrlTask.Result;

                    if (getQueueUrlResponse.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not check for existing queue '{queueName}' - got HTTP {getQueueUrlResponse.HttpStatusCode}");
                    }

                    var visibilityTimeout = ((int)m_AmazonInternalSettings.AmazonPeekLockDuration.PeekLockDuration.TotalSeconds).ToString(CultureInfo.InvariantCulture);

                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSSetQueueAttributesRequest.html for options
                    var setAttributesTask = client.SetQueueAttributesAsync(getQueueUrlResponse.QueueUrl, new Dictionary <string, string> {
                        ["VisibilityTimeout"] = visibilityTimeout
                    });
                    AsyncHelpers.RunSync(() => setAttributesTask);
                    var setAttributesResponse = setAttributesTask.Result;

                    if (setAttributesResponse.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not set attributes for queue '{queueName}' - got HTTP {setAttributesResponse.HttpStatusCode}");
                    }
                }
                catch (QueueDoesNotExistException)
                {
                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSCreateQueueRequest.html for options
                    var createQueueRequest = new CreateQueueRequest(queueName)
                    {
                        Attributes = { ["VisibilityTimeout"] = ((int)m_AmazonInternalSettings.AmazonPeekLockDuration.PeekLockDuration.TotalSeconds).ToString(CultureInfo.InvariantCulture) }
                    };
                    var task = client.CreateQueueAsync(createQueueRequest);
                    AsyncHelpers.RunSync(() => task);
                    var response = task.Result;

                    if (response.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not create queue '{queueName}' - got HTTP {response.HttpStatusCode}");
                    }
                }
            }
        }
示例#18
0
 public Task <GetQueueUrlResponse> GetQueueUrlAsync(
     GetQueueUrlRequest request,
     CancellationToken cancellationToken = new CancellationToken())
 {
     return(Task.FromResult(new GetQueueUrlResponse
     {
         QueueUrl = $"https://testqueues.com/{request.QueueName}"
     }));
 }
示例#19
0
        public Task <GetQueueUrlResponse> GetQueueUrl(string QueueName, string OwnerId)
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = QueueName,
                QueueOwnerAWSAccountId = OwnerId
            };

            return(_client.GetQueueUrlAsync(request));
        }
        public AmazonMessageQueueProvider(MainWindowViewModel parentViewModel, CancellationToken ct)
        {
            _parentViewModel = parentViewModel;
            _sqsClient       = new AmazonSQSClient();
            var queueUrlRequest = new GetQueueUrlRequest("Messenger.fifo");

            _queueUrl = _sqsClient.GetQueueUrl(queueUrlRequest).QueueUrl;

            Task.Factory.StartNew(GetMessages, ct);
        }
        /// <summary>
        /// Creates the queue with the given name
        /// </summary>
        public void CreateQueue(string address)
        {
            if (!_options.CreateQueues)
            {
                return;
            }

            _log.Info("Creating queue {queueName}", address);

            var queueName = GetQueueNameFromAddress(address);

            AsyncHelpers.RunSync(async() =>
            {
                // Check if queue exists
                try
                {
                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSGetQueueUrlRequest.html for options
                    var request  = new GetQueueUrlRequest(queueName);
                    var response = await _client.GetQueueUrlAsync(request);

                    if (response.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not check for existing queue '{queueName}' - got HTTP {response.HttpStatusCode}");
                    }

                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSSetQueueAttributesRequest.html for options
                    var setAttributesResponse = await _client.SetQueueAttributesAsync(response.QueueUrl, new Dictionary <string, string>
                    {
                        ["VisibilityTimeout"] = ((int)_peekLockDuration.TotalSeconds).ToString(CultureInfo.InvariantCulture)
                    });
                    if (setAttributesResponse.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not set attributes for queue '{queueName}' - got HTTP {setAttributesResponse.HttpStatusCode}");
                    }
                }
                catch (QueueDoesNotExistException)
                {
                    // See http://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SQS/TSQSCreateQueueRequest.html for options
                    var createQueueRequest = new CreateQueueRequest(queueName)
                    {
                        Attributes =
                        {
                            ["VisibilityTimeout"] = ((int)_peekLockDuration.TotalSeconds).ToString(CultureInfo.InvariantCulture)
                        }
                    };

                    var response = await _client.CreateQueueAsync(createQueueRequest);

                    if (response.HttpStatusCode != HttpStatusCode.OK)
                    {
                        throw new Exception($"Could not create queue '{queueName}' - got HTTP {response.HttpStatusCode}");
                    }
                }
            });
        }
示例#22
0
        private async Task <string> GetQueueUrl()
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = "mandia-queue",
                QueueOwnerAWSAccountId = "341189667252"
            };
            var response = await sqsClient.GetQueueUrlAsync(request);

            return(response.QueueUrl);
        }
示例#23
0
        static void GetUrl(AmazonSQSClient client)
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = "EventCollectQueue",
                QueueOwnerAWSAccountId = "468917192189"
            };
            var response = client.GetQueueUrlAsync(request).Result;

            Console.WriteLine("res: " + response.QueueUrl);
        }
示例#24
0
        /// <summary>
        /// Retrieve the queue URL for the queue named in the queueName
        /// property using the client object.
        /// </summary>
        /// <param name="client">The Amazon SQS client used to retrieve the
        /// queue URL.</param>
        /// <param name="queueName">A string representing  name of the queue
        /// for which to retrieve the URL.</param>
        /// <returns>The URL of the queue.</returns>
        public static async Task <string> GetQueueUrl(IAmazonSQS client, string queueName)
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = queueName,
            };

            GetQueueUrlResponse response = await client.GetQueueUrlAsync(request);

            return(response.QueueUrl);
        }
        public async Task <ActionResult> DeleteQueue(string queueName)
        {
            GetQueueUrlRequest  getQueueUrlRequest = new GetQueueUrlRequest(queueName);
            GetQueueUrlResponse getUrlResponse     = await _amazonSQS.GetQueueUrlAsync(getQueueUrlRequest);

            DeleteQueueRequest deleteQueueRequest = new DeleteQueueRequest(getUrlResponse.QueueUrl);

            var response = await _amazonSQS.DeleteQueueAsync(deleteQueueRequest);

            return(Ok($"Queue {queueName} is deleted"));
        }
        public IRequestContext Marshall(GetQueueUrlRequest input)
        {
            IRequestContext context = new RequestContext();

            context.AddParametr("Action", input.ActionName);
            context.AddParametr("Version", YandexMqConfig.DEFAULT_SERVICE_VERSION);

            context.AddParametr("QueueName", input.QueueName);

            return(context);
        }
示例#27
0
        public async Task SendMessageToForroLevelSQS(ForroLevel forroLevel)
        {
            var request = new GetQueueUrlRequest(_forroLevelQueueName);

            var response = await _amazonSQSClient.GetQueueUrlAsync(request);

            var newForroLevelJson = JsonConvert.SerializeObject(forroLevel);

            var sendMessageRequest = new SendMessageRequest(response.QueueUrl, newForroLevelJson);
            var result             = await _amazonSQSClient.SendMessageAsync(sendMessageRequest);
        }
示例#28
0
        public string GetQueueUrl(string queueName)
        {
            var request = new GetQueueUrlRequest
            {
                QueueName = MailerQueueName,
                QueueOwnerAWSAccountId = QueueOwnerAccountId
            };

            var getQueueUrlResponse = _sqsClient.GetQueueUrl(request);

            return(getQueueUrlResponse.HttpStatusCode.Equals(HttpStatusCode.OK) ? getQueueUrlResponse.QueueUrl : string.Empty);
        }
示例#29
0
        private static async Task <string> GetQueueUrl(IAmazonSQS sqs, string qName)
        {
            var sqsRequest = new GetQueueUrlRequest
            {
                QueueName = qName,
                //QueueOwnerAWSAccountId = AWS_ACCOUNT_ID
            };

            var createQueueResponse = await sqs.GetQueueUrlAsync(sqsRequest);

            Console.WriteLine(createQueueResponse.QueueUrl);
            return(createQueueResponse.QueueUrl);
        }
示例#30
0
        public void GetQueueUrlExample()
        {
            AmazonSQSClient client = new AmazonSQSClient();

            var request = new GetQueueUrlRequest
            {
                QueueName = "SQS_QUEUE_NAME"
            };

            GetQueueUrlResponse response = client.GetQueueUrl(request);

            Console.WriteLine("The SQS queue's URL is {1}", response.QueueUrl);
        }