2017-02-21 45 views
0

Я могу сделать вызов библиотеки C# в очередь с помощью SDK. Однако я не могу сделать вызов REST в очередь.Как сделать вызов REST в очередь Azure

Как я могу продолжить? Любой образец кода будет оценен по достоинству.

+0

Пожалуйста, расскажите нам, что вы пробовали до сих пор и какие проблемы вы бегаете в. Я уверен, что если вы сделаете правильный поиск, вы найдете множество образцов кода на C#, где используется REST API, вместо использования .Net SDK. –

+0

@GauravMantri Я попытался выполнить поиск, но я не могу найти те, которые соответствуют моему требованию. Я очень новичок в azure. Приветствуется вся ссылка на код кода – pankaj

+0

Хотя немного устарел, но посмотрите здесь: https: //azurestoragesamples.codeplex.com. Это должно дать вам представление о том, как действовать. –

ответ

0

Я могу сделать с # библиотечный вызов в очередь с помощью SDK. Однако я не могу сделать вызов Rest в очередь. Как я буду продолжать, и любой образец кода будет оценен.

Во-первых, this link перечислены операции REST для работы с очередей сообщений, что Azure Storage обеспечивает, пожалуйста, проверьте ссылку, чтобы получить подробную информацию.

Во-вторых, вот пример запроса к create a queue under the given account, вы можете построить свой запрос следующим образом.

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(string.Format(CultureInfo.InvariantCulture, 
"https://{0}.queue.core.windows.net/{1}", 
StorageAccount, queuename)); 

req.Method = "PUT"; 
req.Headers.Add("Authorization", AuthorizationHeader); 
req.Headers.Add("x-ms-date", mxdate); 
req.Headers.Add("x-ms-version", storageServiceVersion); 
req.ContentLength = 0; 

и, пожалуйста, обратитесь к следующему коду и Authentication for the Azure Storage Services построить строку подписи для создания AuthorizationHeader.

string canonicalizedHeaders = string.Format(
    "x-ms-date:{0}\nx-ms-version:{1}", 
    mxdate, 
    storageServiceVersion); 

string canonicalizedResource = string.Format("/{0}/{1}", StorageAccount, queuename); 

string stringToSign = string.Format(
"{0}\n\n\n\n\n\n\n\n\n\n\n\n{1}\n{2}", 
requestMethod, 
canonicalizedHeaders, 
canonicalizedResource); 

запрос выглядит следующим образом.

enter image description here

0

Есть примеры в официальной документации:

Request: 
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1 

Headers: 
x-ms-version: 2011-08-18 
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT 
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk= 
Content-Length: 100 

Body: 
<QueueMessage> 
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText> 
</QueueMessage> 

https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/put-message