2016-12-12 4 views
1

Ich möchte das Ergebnis der azure vm-Bereitstellung mit Azure Resource Manager (ARM) mit .NET C# abrufen, um den Erfolg zu erkennen oder fehlzuschlagen.C# Ergebnisstatus beim Entfernen von Azure Virtual Machine mit Azure Resource Manager (ARM)

Ich fand folgendes Beispiel.

https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-csharp-template

In diesem Artikel, wenn deploing "Rückkehr erwarten" Anweisung verwendet wird.

public static async Task<DeploymentExtended> CreateTemplateDeploymentAsync(
    TokenCredentials credential, 
    string groupName, 
    string deploymentName, 
    string subscriptionId){ 
Console.WriteLine("Creating the template deployment..."); 
var deployment = new Deployment(); 
deployment.Properties = new DeploymentProperties 

{ 
Mode = DeploymentMode.Incremental, 
Template = File.ReadAllText("..\\..\\VirtualMachineTemplate.json"), 
Parameters = File.ReadAllText("..\\..\\Parameters.json") 
}; 
var resourceManagementClient = new ResourceManagementClient(credential) 
    { SubscriptionId = subscriptionId }; 
return await resourceManagementClient.Deployments.CreateOrUpdateAsync(
groupName, 
deploymentName, 
deployment); 
} 

Wie kann ich mit dem Ergebnis umgehen? Ich möchte Programm nach dem Ergebnis zu teilen.

Antwort

0

Wir können den Bereitstellungsstatus mithilfe der Properties.ProvisioningState abrufen. Wenn die VM jedoch fehlgeschlagen ist, wird möglicherweise eine Ausnahme ausgelöst. Daher müssen wir die Ausnahme mit Code abfangen.

1.Code Demo:

var token = GetAccessTokenAsync(); 
var credential = new TokenCredentials(token.Result.AccessToken); 
string provisoningStatus = "Failed"; 
try 
    { 
    var result =CreateTemplateDeploymentAsync(credential, "tom", "MyWindowsVM", "you subscription Id") 
        .Result; 
       provisoningStatus = result.Properties.ProvisioningState; 
    } 
catch (Exception) 
    { 

    //ToDo 
    } 
    if (provisoningStatus.Equals("Failed")) 
    { 
     //TODo 
    } 

} 
  1. Erstellen einer VM erfolgreich

enter image description here

  1. prüfen aus dem Azure-Portal

enter image description here

Wenn es ohne Fang Ausnahme

enter image description here

+0

Hallo Tom Vielen Dank für repling gescheitert ist !! Entschuldigung für Antwort Antwort. –

+0

Ihre Anregung ist sehr verständlich und nett. Ich werde überprüfen und in Kürze antworten. –

+0

Gibt es Updates zu diesem Thema? –

Verwandte Themen