none
Azure Queue Storage: Delete message

    Question

  • As I understand queue.DeleteMessage will delete a message in queue.

    But how can I retain the queue message for auditing purpose?

    I want to retain my message even after processing it

    Monday, June 22, 2015 12:35 PM

Answers

  • Hi,

    Queue messages must be deleted after processing and we have no option to keep the message.

    Regards,

    Shirisha Paderu

    Monday, June 22, 2015 4:56 PM
    Moderator
  • Hi Sam,

    Please be advised that an azure queue can process up to 2,000 transactions per second. A transaction is either a PutGet, or Delete operation. Sending a single message to a queue (Put) is counted as one transaction, but receiving a message is often a two-step process involving the retrieval (Get), followed by a request to remove the message from the queue (Delete). As a result, a successful dequeue operation usually involves two transactions.

    When your application reaches the maximum throughput for a Azure queue, an “HTTP 503 Server Busy” response is usually returned from the queue service. When this occurs, the application should trigger the retry logic with exponential back-off delay.

    So it becomes necessary to remove/delete messages after they are received.
    You could try archiving the messages to check if it works.
    Or even consider Service Bus Queues if they meet your requirements instead.

    Regards,
    Malar.

    Thursday, June 25, 2015 9:00 AM

All replies

  • Hi,

    Queue messages must be deleted after processing and we have no option to keep the message.

    Regards,

    Shirisha Paderu

    Monday, June 22, 2015 4:56 PM
    Moderator
  • Thanks,

    In that case, I think I'll have to move the messages to an "archive" queue

    Tuesday, June 23, 2015 5:06 AM
  • Hi Sam,

    Please be advised that an azure queue can process up to 2,000 transactions per second. A transaction is either a PutGet, or Delete operation. Sending a single message to a queue (Put) is counted as one transaction, but receiving a message is often a two-step process involving the retrieval (Get), followed by a request to remove the message from the queue (Delete). As a result, a successful dequeue operation usually involves two transactions.

    When your application reaches the maximum throughput for a Azure queue, an “HTTP 503 Server Busy” response is usually returned from the queue service. When this occurs, the application should trigger the retry logic with exponential back-off delay.

    So it becomes necessary to remove/delete messages after they are received.
    You could try archiving the messages to check if it works.
    Or even consider Service Bus Queues if they meet your requirements instead.

    Regards,
    Malar.

    Thursday, June 25, 2015 9:00 AM