天天看點

【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法

問題描述

使用POST HTTP Request, 如何向Azure Storage Queue中寫入Message呢?例如使用CURL發送POST指令是否可以呢?

 CURL -H "Content-Type: application/xml" -X POST -d "message body" "azure storage queue endpoint"   

問題解答

可以的,首先從Azure Storage Account中擷取通路令牌,示例中使用的為SAS( Shared access signature : 共享通路簽名)。然後直接發送POST請求。

第一步:擷取SAS Token,進入Storage Account的 Shared access signature 頁面,選擇“Queue” ,Allow resource type全部選擇,然後根據所需要的操作設定Allow Permissions。

【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法

第二步:拼接 Endpoint。把上一步的SAS Token複制出來,與Queue的位址進行拼接:

【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法

完整的Endpoint URL為:

https://xxxxxxxx.queue.core.chinacloudapi.cn
/testpostmethod
/messages
?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacupx&se=2021-10-16T15:10:22Z&st=2021-10-16T07:10:22Z&spr=https&sig=f%2Fktxxxxxc8qNeeAM9izhpAZttlpGivTLc%3D      

第三步:發送POST 請求,消息體為XML格式 <QueueMessage><MessageText>【message body】</MessageText></QueueMessage>

<QueueMessage>
<MessageText>Test the Azure Storage message 1016 -1</MessageText>
</QueueMessage>      
  • Postman VS CURL
【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法
【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法
  • CURL 示例:
curl -H "Content-Type: application/xml" 
-X POST 
-d "<QueueMessage><MessageText>Test the Azure Storage message 1016 - 9</MessageText></QueueMessage>"
 "https://xxxxxxxx.queue.core.chinacloudapi.cn/testpostmethod/messages?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacupx&se=2021-10-16T15:10:22Z&st=2021-10-16T07:10:22Z&spr=https&sig=f%2FkttQxxxxxxxxAZttlpGivTLc%3D"
 -v      

第四步:在Queue中檢視資料

【Azure 存儲服務】使用POST方式向Azure Storage Queue中插入Message的辦法

參考資料

 Azure Storage Account Queue - Put Message : https://docs.microsoft.com/en-us/rest/api/storageservices/put-message

The 

Put Message

 operation adds a new message to the back of the message queue. A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. A message must be in a format that can be included in an XML request with UTF-8 encoding. The encoded message can be up to 64 KiB in size for versions 2011-08-18 and newer, or 8 KiB in size for previous versions.

Put Message

 request may be constructed as follows. HTTPS is recommended. Replace myaccount with the name of your storage account, and 

myqueue

 with the name of your queue:

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀