2015-12-07 4 views
1

Я пытаюсь программно запустить слот для веб-сайта Azure с использованием последовательности кода C#. Я пытался использовать следующий код:Программный запуск слота Azure

public async Task StartWebsiteSlot() 
{ 
    var subscriptionId = "{my Azure subscription id}"; 
    var certPath = "{my full path to the Azure management certificate}"; 
    var certificate = new X509Certificate2(certPath, {my password}); 

    var httpHandler = new WebRequestHandler(); 
    httpHandler.ClientCertificates.Add(certificate); 
    httpHandler.ClientCertificateOptions = ClientCertificateOption.Automatic; 

    var url = "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{groupname}/providers/Microsoft.Web/sites/{site name}/start?api-version=2015-08-01"; 
    var postContent = new StringContent(String.Empty); 

    using (var client = new HttpClient(httpHandler)) 
    { 
     var response = await client.PostAsync(url, postContent); 
    } 
} 

Вызов возвращает «Неразрешенное». Я знаю, что сертификат в порядке, потому что я использую его с WebManagementClient для замены слотов для развертывания.

Как я могу получить доступ к этому API REST управления Azure?

ответ

0

this Пакет Nuget позволяет управлять сайтами с C#. Как только вы загрузите пакет nuget, вы можете использовать метод RestartAsync() для запуска веб-сайта. Ниже приведено описание использования.

yourwebsiteclient.Websites.RestartAsync 

Надеюсь, что это поможет!

https://www.nuget.org/packages/Microsoft.WindowsAzure.Management.WebSites/

https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.management.websites.iwebsiteoperations.restartasync(v=azure.11).aspx

+0

RestartAsync не работает для меня, я пробовал это, прежде чем задавать этот вопрос (именно по этой причине я попытался напрямую обратиться к API REST Azure Management). У вас есть образец рабочего кода? – Dan

Смежные вопросы