Форум программистов, компьютерный форум, киберфорум
DevOps, облачные платформы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для irises
140 / 72 / 26
Регистрация: 29.06.2015
Сообщений: 186

MS Azure PEST API: Создать очередь

01.02.2017, 15:26. Показов 940. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Изучаю Microsoft Azure, создаю блобы, очереди и т.д. Теперь дошла до PEST API и с его помощью хочу создать очередь.
Но сервер возвращает: The remote server returned an error: (403) Forbidden.
Подскажие пожалуйста, что не так? Как сделать правильно?

Клас в котором данные для входа:
C#
1
2
3
4
5
6
7
8
9
10
11
12
public static class AzureStorageConstants
        {
            private static string QueueAccount = "accountNameHere";
            private static string url = "http://" + "accountNameHere"+ ".queue.core.windows.net/";
            private static string cloudKey = "accessKeyToAccountHere";
            private static string AzureStorage_SharedKeyAuthorizationScheme = "SharedKey";
 
            public static string AccountName { get { return QueueAccount; } }
            public static string SharedKeyAuthorizationScheme { get { return AzureStorage_SharedKeyAuthorizationScheme; } }
            public static string Key { get { return cloudKey; } }
            public static string QueueUrl { get { return url; } }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static string CreateAuthorizationHeader(string canonicalizedString)
        {
            string signature = string.Empty;
            using (HMACSHA256 hmacSha256 = new HMACSHA256(Convert.FromBase64String(AzureStorageConstants.Key)))
            {
                byte[] dataToHmac = Encoding.UTF8.GetBytes(canonicalizedString);
                signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac));
            }
            string authorizationHeader = string.Format(
                System.Globalization.CultureInfo.InvariantCulture,
                "{0} {1}:{2}",
                AzureStorageConstants.SharedKeyAuthorizationScheme,
                AzureStorageConstants.AccountName,
                signature);
            return authorizationHeader;
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public static void CreateQueue(string queueName)
        {
            string requestMethod = "PUT";
            Uri uri = new Uri(AzureStorageConstants.QueueUrl + queueName);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            request.Method = requestMethod;
            request.ProtocolVersion = HttpVersion.Version11;
 
            string storageServiceVersion = "2016-05-31";
            string dateInRfc1123Format = DateTime.UtcNow.ToString("R", System.Globalization.CultureInfo.InvariantCulture);
            string date = string.Format("x-ms-date:{0}", dateInRfc1123Format);
            string version = string.Format("x-ms-version:{0}", storageServiceVersion);
 
            string stringToSign = string.Format("{0}\n\n\n\n\n\n\n\n\n\n\n\n{1}\n{2}\n/{3}/{4}\nrestype:queue\ntimeout:30", requestMethod, date, version, AzureStorageConstants.AccountName, queueName);
            
            string authorizationHeader = CreateAuthorizationHeader(stringToSign);
 
            request.Headers.Add("Authorization", authorizationHeader);
            request.Headers.Add("x-ms-date", dateInRfc1123Format);
            request.Headers.Add("x-ms-version", storageServiceVersion);
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
 
            using (Stream requestStream = request.GetRequestStream()) { }
 
 
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                String requestId = response.StatusCode.ToString();
                Console.WriteLine(requestId);
            }
        }
 
        static void Main(string[] args)
        {
            CreateQueue("queue1");
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2017, 15:26
Ответы с готовыми решениями:

Создать очередь целых случайных чисел и создать другую очередь, в которую будут входить только парные числа из первой
Нужно создать очередь целых случайных чисел и создать другую очередь, в которую будут входить только парные числа из первой

Как получить информацию от API на Azure?
Всем привет. Пытаюсь получить информацию от api на azure и ничего не выходит. Умельцы и знатоки подскажите что не так делаю: Создал класс...

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё "творение". int main() { int...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2017, 15:26
Помогаю со студенческими работами здесь

Яндекс Метрика API (создать счетчик по API)
Добрый день, ранее с метрикой немного стыкася. Сейчас постала задача сделать небольшую админку с возможностю аналитики, подумал от...

Microsoft Azure, можно ли создать шаблон, который будет устанавливать виртуальную готовую машину из образа?
Всем привет Возможно ли создать в Microsoft Azure некий шаблон,который будет устанавливать виртуальную готовую машину из образа?

Web api Управлять очередью запросов динамически (длиной) и как получить url поступившего в очередь запроса
Я так понимаю, что все запросы приходят в HTTP.Sys откуда запрос в виде HTTP.Context поступает на web api. И все параметры HTTP.Sys нужно...

Создать очередь для символов. Создать функции для ввода и вывода элементов
Создать очередь для символов. Максимальный размер очереди вводится с экрана. Создать функции для ввода и вывода элементов очереди. Вводить...

Создать очередь
Нужно сделать очередь на примере массива Что бы можно было добавлять в конец и удалять из начала элементы Пример работы программы: Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru