В настоящее время я работаю над автоматизированным процессом развертывания размещенной службы для Windows Azure. Создание файлов .cspkg
и .cscfg
прекрасно работает с помощью вызова msbuild
. Сейчас я пишу небольшое консольное приложение .NET, которое должно развернуть эти файлы в Azure с помощью Management REST API.
С самим API проблем нет. Я могу отправить запрос к API, используя один из моих сертификатов управления. Я загружаю файл .cspkg
в хранилище больших двоичных объектов Azure, а затем пытаюсь вызвать Upgrade Deployment
. Но каждый раз, когда я пытаюсь, я получаю ответ «400 Bad Request», в котором говорится, что сертификат с отпечатком xy не найден. Этот сертификат представляет собой сертификат SSL (, а не сертификат управления), который я использую для HTTPS для своего личного домена (DNS CNAME).
А теперь все становится интереснее:
Когда я развертываю файлы с помощью команды «Опубликовать» в своей Visual Studio, проблем нет. (Я сравнил файлы .cscfg
/ .cspkg
из VS и из моего вывода msbuild
: за исключением нескольких идентификаторов GUID, они идентичны). Более того, с помощью функции управления Silverlight в моем браузере я даже могу загружать сгенерированные файлы, которые нельзя было загрузить с помощью API.
Когда я получаю список всех сертификатов с помощью вызова List Certificates
, сертификат, который, как говорят, отсутствует, явно там. Я также могу получить его данные с помощью вызова Get Certificate
.
Так почему же Azure постоянно сообщает мне, что сертификат не найден при использовании вызова Upgrade Deployment
? Кто-нибудь испытывал что-то подобное? Кто-нибудь подсказал мне ? Заранее спасибо.
P.S. Вот что Azure говорит, когда я использую API:
<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Code>BadRequest</Code>
<Message>The certitficate with thumbprint 7b232c4a2d6e3deadbeef120d5dbc1fe8049fbea was not found.</Message>
</Error>
P.P.S.: Да, в ответе слово certitficate
, а не сертификат
.