C # ядро ​​не может удалить сообщение из sqs - PullRequest
0 голосов
/ 15 мая 2019

Я использую ядро ​​.net с AWS SDK, Я могу прочитать сообщение, но после этого оно не удаляется, Примечание. Тайм-аут видимости по умолчанию установлен на 1 минуту, и операция завершается через секунду, но все равно не удаляется. посмотри на код -

        string qurl = "xxxxxx";
            Task<ReceiveMessageResponse> receiveMessageResponse;
            using (var sqs = new AmazonSQSClient("xxxx", "xxxxx", xxxxx))
            {
                const int maxMessages = 1;  // 1-10

                //Receiving a message
                var receiveMessageRequest = new ReceiveMessageRequest
                {
                    // Get URL from Configuration
                    QueueUrl = qurl,
                    // The maximum number of messages to return. 
                    // Fewer messages might be returned. 
                    MaxNumberOfMessages = maxMessages,
                    // A list of attributes that need to be returned with message.
                    AttributeNames = new List<string> { "All" },
                    // Enable long polling. 
                    // Time to wait for message to arrive on queue.
                };
                receiveMessageResponse = sqs.ReceiveMessageAsync(receiveMessageRequest);


                if (receiveMessageResponse.Result.Messages != null)
                {
                    foreach (var message in receiveMessageResponse.Result.Messages)
                    {

                        Class1 obj = new Class1();
                       string finalname= obj.fnprocess(message.Body);
                        Console.WriteLine(finalname);
                        var res = message.ReceiptHandle;

                        Task<DeleteMessageResponse> DeleteMessageResponse;
                        DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest()
                        {
                            QueueUrl = qurl,
                            ReceiptHandle = res
                        };

                        DeleteMessageResponse = sqs.DeleteMessageAsync(deleteMessageRequest);



                    }

                }
            }

ответ на запрос следующим образом enter image description here

любое предположение, что я делаю неправильно.

1 Ответ

0 голосов
/ 15 мая 2019

привет на самом деле проблема была с ключом, изменил код на

var result = sqs.DeleteMessageAsync(deleteMessageRequest).Result;

для отлова ошибки, теперь она работает.

...