From a65f556d8cfaa693880b9ff26bfcbe2a0150d48d Mon Sep 17 00:00:00 2001 From: "naiyuantian@microsoft.com" Date: Mon, 12 Aug 2024 15:35:34 -0700 Subject: [PATCH] add encoding check for different strategy at storage queue option --- .../StorageServiceClientProvider.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/DurableTask.AzureStorage/StorageServiceClientProvider.cs b/src/DurableTask.AzureStorage/StorageServiceClientProvider.cs index d7c976797..d3cc56c03 100644 --- a/src/DurableTask.AzureStorage/StorageServiceClientProvider.cs +++ b/src/DurableTask.AzureStorage/StorageServiceClientProvider.cs @@ -15,10 +15,12 @@ namespace DurableTask.AzureStorage { using System; using System.Globalization; + using System.Text; using Azure.Core; using Azure.Data.Tables; using Azure.Storage.Blobs; using Azure.Storage.Queues; + using Azure.Storage.Queues.Models; /// /// Represents a set of methods for easily creating instances of type @@ -180,6 +182,24 @@ public static IStorageServiceClientProvider + { + if (args.ReceivedMessage != null) + { + QueueMessage queueMessage = args.ReceivedMessage; + string base64EncodedMessage = Convert.ToBase64String(Encoding.UTF8.GetBytes(args.ReceivedMessage.Body.ToString())); + + if (args.IsRunningSynchronously) + { + args.Queue.UpdateMessage(queueMessage.MessageId, queueMessage.PopReceipt, base64EncodedMessage, TimeSpan.FromMinutes(5)); + } + else + { + await args.Queue.UpdateMessageAsync(queueMessage.MessageId, queueMessage.PopReceipt, base64EncodedMessage, TimeSpan.FromMinutes(5)); + } + } + }; + } #endregion