Freigeben über


Microsoft Azure Compute Management-Clientbibliothek für .NET

Microsoft Azure Compute stellt die Infrastruktur zum Hosten von Apps bereit. Tippen Sie auf Computekapazität in der Cloud, und skalieren Sie bei Bedarf. Containern Sie Ihre Anwendungen, stellen Sie virtuelle Windows- und Linux-Computer (VMs) bereit, und nutzen Sie flexible Optionen für die Migration von VMs zu Azure. Stellen Sie mit umfassender Unterstützung für Hybridumgebungen bereit, wie und wo Sie möchten. Azure Compute umfasst auch eine vollständige Identitätslösung, sodass Sie verwalteten Endpunktschutz erhalten, und Active Directory-Unterstützung, die den Zugriff auf lokale und Cloud-Apps sichert. Stellen Sie großartige Apps bereit, und sparen Sie mit nutzungsbasierten Preisen und der Azure-Hybridvorteil.

Diese Bibliothek unterstützt die Verwaltung von Microsoft Azure Compute-Ressourcen.

Diese Bibliothek folgt den neuen Azure SDK-Richtlinien und bietet viele Kernfunktionen:

- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.

Erste Schritte

Installieren des Pakets

Installieren Sie die Microsoft Azure Compute-Verwaltungsbibliothek für .NET mit NuGet:

dotnet add package Azure.ResourceManager.Compute

Voraussetzungen

Authentifizieren des Clients

Die Standardoption zum Erstellen eines authentifizierten Clients ist die Verwendung von DefaultAzureCredential. Da alle Verwaltungs-APIs denselben Endpunkt verwenden, muss nur eine oberste Ebene ArmClient erstellt werden, um mit Ressourcen zu interagieren.

Führen Sie den folgenden Code aus, um sich bei Azure zu authentifizieren und einen ArmClientzu erstellen:

using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
ArmClient armClient = new ArmClient(new DefaultAzureCredential());

Weitere Dokumentationen für die Azure.Identity.DefaultAzureCredential Klasse finden Sie in diesem Dokument.

Wichtige Begriffe

Wichtige Konzepte des Azure .NET SDK finden Sie hier.

Beispiele

Verfügbarkeitsgruppe erstellen

Vor dem Erstellen einer Verfügbarkeitsgruppe benötigen wir eine Ressourcengruppe.

ArmClient armClient = new ArmClient(new DefaultAzureCredential());
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();
// With the collection, we can create a new resource group with an specific name
string rgName = "myRgName";
AzureLocation location = AzureLocation.WestUS2;
ArmOperation<ResourceGroupResource> lro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location));
ResourceGroupResource resourceGroup = lro.Value;
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetData input = new AvailabilitySetData(location);
ArmOperation<AvailabilitySetResource> lro = await availabilitySetCollection.CreateOrUpdateAsync(WaitUntil.Completed, availabilitySetName, input);
AvailabilitySetResource availabilitySet = lro.Value;

Abrufen der gesamten Verfügbarkeitsgruppe in einer Ressourcengruppe

// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
// First, we get the availability set collection from the resource group
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
// With GetAllAsync(), we can get a list of the availability sets in the collection
AsyncPageable<AvailabilitySetResource> response = availabilitySetCollection.GetAllAsync();
await foreach (AvailabilitySetResource availabilitySet in response)
{
    Console.WriteLine(availabilitySet.Data.Name);
}

Aktualisieren einer Verfügbarkeitsgruppe

// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

// With the collection, we can create a new resource group with an specific name
string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// availabilitySet is an AvailabilitySetResource instance created above
AvailabilitySetPatch update = new AvailabilitySetPatch()
{
    PlatformFaultDomainCount = 3
};
AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.UpdateAsync(update);

Löschen einer Verfügbarkeitsgruppe 

// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

// With the collection, we can create a new resource group with an specific name
string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// delete the availability set
await availabilitySet.DeleteAsync(WaitUntil.Completed);

Überprüfen, ob die Verfügbarkeitsgruppe vorhanden ist

Wenn Sie nur überprüfen möchten, ob die Verfügbarkeitsgruppe vorhanden ist, können Sie die Funktion CheckIfExistsverwenden.

ArmClient armClient = new ArmClient(new DefaultAzureCredential());
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
string availabilitySetName = "myAvailabilitySet";
bool exists = await resourceGroup.GetAvailabilitySets().ExistsAsync(availabilitySetName);

if (exists)
{
    Console.WriteLine($"Availability Set {availabilitySetName} exists.");
}
else
{
    Console.WriteLine($"Availability Set {availabilitySetName} does not exist.");
}

Hinzufügen eines Tags zu einer Verfügbarkeitsgruppe

// First, initialize the ArmClient and get the default subscription
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Now we get a ResourceGroupResource collection for that subscription
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
ResourceGroupCollection rgCollection = subscription.GetResourceGroups();

string rgName = "myRgName";
ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName);
AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets();
string availabilitySetName = "myAvailabilitySet";
AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName);
// add a tag on this availabilitySet
AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.AddTagAsync("key", "value");

Ausführlichere Beispiele finden Sie in den verfügbaren Beispielen.

Problembehandlung

  • Melden Sie ein Problem über GitHub Issues.
  • Überprüfen Sie frühere Fragen oder stellen Sie neue Fragen zu Stack Overflow mithilfe von Azure- und .NET-Tags.

Nächste Schritte

Weiterer Beispielcode

Weitere Dokumentationen

Weitere Informationen zum Azure SDK finden Sie auf dieser Website.

Mitwirken

Ausführliche Informationen zum Mitwirken zu diesem Repository finden Sie im Leitfaden zur Mitarbeit.

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request übermitteln, bestimmt ein CLA-Bot automatisch, ob Sie eine CLA bereitstellen und den PR entsprechend dekorieren müssen (z. B. Bezeichnung, Kommentar). Folgen Sie den Anweisungen des Bots. Sie müssen diese Aktion nur einmal für alle Repositorys mit unserer CLA ausführen.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.