REST: add message to azure queue for storage without base64 encoding?

I have no way to encode my request in base64, and according to the documentation, I don't need it, but I can't figure it out.

If I Base64 encodes it, it works fine:

<QueueMessage>
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>
</QueueMessage>

What adds the decoded message to the queue:

<sample>sample message</sample>

According to the documentation ( https://msdn.microsoft.com/sv-se/library/azure/dd179346.aspx )

The message must be in a format that can be included in an XML request with UTF-8 encoding. To enable markup in a message, the content of the message must be either XML-escaped or Base64 encoded. Any XML markup in the message that is not escaped or encoded will be deleted before the message is added to the queue.

( PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg ==):

&lt;sample&gt;sample message&lt;/sample&gt;

, :

Base-64, 64 , .

- , xml ?

( ):

POST https://xxxxxxx.queue.core.windows.net/testqueue/messages?sv=2015-04-05&ss=q&srt=sco&sp=a&se=2026-11-11T20:24:03Z&st=2016-11-11T12:24:03Z&spr=https&sig=xxxxxxxxxxxxxxxxx%3D HTTP/1.1
User-Agent: Fiddler
Host: XXXXX.queue.core.windows.net
Content-Type: text/plain
Content-Length: 64

<QueueMessage>
<MessageText>&lt;sample&gt;sample message&lt;/sample&gt;</MessageText>
</QueueMessage>
+4
1

, AsString, , , base64.

CloudQueue EncodeMessage, true. false, . :

 CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
 CloudQueue queue = queueClient.GetQueueReference(ClientQueueName);
 queue.EncodeMessage = false;
 CloudQueueMessage retrievedMessage = queue.GetMessage();

ClientQueueName - , Azure. , false , .

+1

Source: https://habr.com/ru/post/1660521/


All Articles