#azure
#azure
Вопрос:
Я возвращаю 500 внутренних ошибок сервера из Azure REST management API с этим запросом. Почему?
X509Certificate cert = X509Certificate2.CreateFromCertFile(cert_path);
string uri = String.Format("https://management.core.windows.net/{0}/services/hostedservices/{1}/deploymentslots/staging",
SUBSCRIPTION_ID, SERVICE_NAME);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Headers.Add("x-ms-version", "2009-10-01");
request.ClientCertificates.Add(managementCertificate);
request.GetResponse();
SUBSCRIPTION_ID содержит идентификатор подписки, скопированный с портала управления (только одна подписка). SERVICE_NAME содержит DNS-префикс единственной размещенной службы. Эти URI работают нормально:
https://management.core.windows.net/{0}/services/hostedservices
https://management.core.windows.net/{0}/services/hostedservices/{1}?request-detail=true
В последнем запросе даже перечислено промежуточное развертывание и указано, что все в порядке.
Сертификат был создан в соответствии с инструкциями Microsoft makecert с использованием Windows SDK 7.1. Развертывание было загружено вручную.
Комментарии:
1. Не решение, а Локад. Облако ( code.google.com/p/lokad-cloud ) реализовал свою единственную оболочку C # для API управления. Мы много боролись с этим, чтобы заставить его работать. Возможно, вы найдете некоторые фрагменты в коде. Надеюсь, это поможет.
2. Если у вас возникли проблемы с этим 6 и 7 июля, возникла проблема с DNS, которая влияла на службу управления Azure. Это было исправлено позже в тот же день, 7-го. Не уверен, что это и ваша проблема, но я также получал 500 ошибок без причины 6-го и 7-го числа.
3. На основании комментария @Richard Hein я отправил запрос в службу поддержки Microsoft.
4. @Joannes: Я немного посмотрел на lokad, но не смог найти соответствующий фрагмент исходного кода. Источник казался очень умным, но немного загадочным.
Ответ №1:
Я отправил проблему в службу поддержки Microsoft. Они указали, что в Azure есть ошибка, которая срабатывает, когда ваш DNS-префикс имеет длину всего один символ.