Bibliothèque de client de gestion de calcul Microsoft Azure pour .NET
Microsoft Azure Compute fournit l’infrastructure pour héberger des applications. Appuyez sur la capacité de calcul dans le cloud et mettez à l’échelle à la demande. Conteneurisez vos applications, déployez des machines virtuelles Windows et Linux et tirez parti des options flexibles pour migrer des machines virtuelles vers Azure. Avec une prise en charge complète des environnements hybrides, déployez comment et où vous le souhaitez. Le calcul Azure inclut également une solution d’identité à part entière, ce qui vous permet d’obtenir une protection du point de terminaison managée et une prise en charge d’Active Directory qui permet de sécuriser l’accès aux applications locales et cloud. Déployez d’excellentes applications et économisez grâce à la tarification du paiement à l’utilisation et à la Azure Hybrid Benefit.
Cette bibliothèque prend en charge la gestion des ressources de calcul Microsoft Azure.
Cette bibliothèque suit les nouvelles recommandations du Kit de développement logiciel (SDK) Azure et fournit de nombreuses fonctionnalités de base :
- 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.
Prise en main
Installer le package
Installez la bibliothèque de gestion microsoft Azure Compute pour .NET avec NuGet :
dotnet add package Azure.ResourceManager.Compute
Prérequis
- Vous devez disposer d’un abonnement Microsoft Azure.
Authentifier le client
L'option par défaut pour créer un client authentifié consiste à utiliser DefaultAzureCredential
. Comme toutes les API de gestion passent par le même point de terminaison, pour interagir avec les ressources, un seul niveau supérieur ArmClient
doit être créé.
Pour vous authentifier auprès d’Azure et créer un ArmClient
, effectuez le code suivant :
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
Vous trouverez plus de documentation pour la Azure.Identity.DefaultAzureCredential
classe dans ce document.
Concepts clés
Vous trouverez les concepts clés du Kit de développement logiciel (SDK) Azure .NET ici
Exemples
Créer un groupe à haute disponibilité
Avant de créer un groupe à haute disponibilité, nous devons disposer d’un groupe de ressources.
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;
Obtenir tous les groupes à haute disponibilité d’un groupe de ressources
// 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);
}
Mettre à jour un groupe à haute disponibilité
// 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);
Suppression d'un groupe à haute disponibilité
// 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);
Vérifier si le groupe à haute disponibilité existe
Si vous souhaitez simplement vérifier si le groupe à haute disponibilité existe, vous pouvez utiliser la fonction CheckIfExists
.
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.");
}
Ajouter une étiquette à un groupe à haute disponibilité
// 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");
Pour obtenir des exemples plus détaillés, consultez les exemples que nous proposons.
Dépannage
- Effectuez un problème via GitHub Issues.
- Consultez les questions précédentes ou posez-en de nouvelles sur Stack Overflow à l’aide de balises Azure et .NET.
Étapes suivantes
Autres exemples de code
Documentation supplémentaire
Pour plus d’informations sur le Kit de développement logiciel (SDK) Azure, consultez ce site web.
Contribution
Pour plus d’informations sur la contribution à ce dépôt, consultez le guide de contribution.
Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.
Lorsque vous envoyez une demande de tirage, un bot CLA détermine automatiquement si vous devez fournir un cla cla et décorer la demande de tirage de manière appropriée (par exemple, étiquette, commentaire). Suivez les instructions fournies par le bot. Vous n’aurez besoin d’effectuer cette action qu’une seule fois sur tous les dépôts à l’aide de notre cla cla.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.