[Hoping this might save someone some time.]
The code below stopped working when moving to the newer QueueClient
class (in Azure.Storage.Queues) from the deprecated CloudQueue
class (in Microsoft.Azure.Storage.Queue):
QueueClient queue = new QueueClient(accountConnectionString, "myQueuename");
queue.Create();
queue.SendMessage(msg);
Messages are being moved into the associated poison message queue, and I don't see any error messages in Azure's ApplicationInsights.
When I manually move the message in Azure Storage Explorer from the poison message queue back into the queue, it works!
The CloudQueue
class defaulted to using base64
encoding in the prior v11 library, whereas QueueClient
does not!
To set base64
encoding, add a QueueClientOptions
:
QueueClientOptions queueOptions =
new() { MessageEncoding = QueueMessageEncoding.Base64 };
QueueClient queue =
new QueueClient(accountConnectionString, "myQueuename", queueOptions);
queue.Create();
queue.SendMessage(msg);