Biblioteca de clientes de gerenciamento de computação do Microsoft Azure para .NET
A Computação do Microsoft Azure fornece a infraestrutura para hospedar aplicativos. Toque na capacidade de computação na nuvem e dimensione sob demanda. Conteinerize seus aplicativos, implante VMs (máquinas virtuais) do Windows e do Linux e aproveite as opções flexíveis para migrar VMs para o Azure. Com suporte abrangente para ambientes híbridos, implante como e onde você deseja. A computação do Azure também inclui uma solução de identidade completa, para que você obtenha proteção de ponto de extremidade gerenciado e suporte ao Active Directory que ajuda a proteger o acesso a aplicativos locais e de nuvem. Implante ótimos aplicativos e salve com preços de pagamento conforme o uso e o Benefício Híbrido do Azure.
Essa biblioteca dá suporte ao gerenciamento de recursos de Computação do Microsoft Azure.
Essa biblioteca segue as novas diretrizes do SDK do Azure e fornece muitos recursos principais:
- 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.
Introdução
Instalar o pacote
Instale a biblioteca de gerenciamento de Computação do Microsoft Azure para .NET com o NuGet:
dotnet add package Azure.ResourceManager.Compute
Pré-requisitos
- Você deve ter uma assinatura do Microsoft Azure.
Autenticar o Cliente
A opção padrão para criar um cliente autenticado é usar DefaultAzureCredential
. Como todas as APIs de gerenciamento passam pelo mesmo endpoint, para interagir com recursos, apenas um ArmClient
de nível superior precisa ser criado.
Para autenticar no Azure e criar um ArmClient
, faça o seguinte código:
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
Mais documentação para a Azure.Identity.DefaultAzureCredential
classe podem ser encontradas neste documento.
Principais conceitos
Os principais conceitos do SDK do .NET do Azure podem ser encontrados aqui
Exemplos
Criar um conjunto de disponibilidade
Antes de criar um conjunto de disponibilidade, precisamos ter um grupo de recursos.
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;
Obter todo o conjunto de disponibilidade em um grupo de recursos
// 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);
}
Atualizar um conjunto de disponibilidade
// 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);
Excluir um conjunto de disponibilidade
// 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);
Verificar se o conjunto de disponibilidade existe
Se você quiser apenas verificar se o conjunto de disponibilidade existe, use a função 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.");
}
Adicionar uma marca a um conjunto de disponibilidade
// 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");
Para exemplos mais detalhados, dê uma olhada nos exemplos que temos disponíveis.
Solução de problemas
- Registre um problema por meio de problemas do GitHub.
- Verifique as perguntas anteriores ou faça novas no Stack Overflow usando marcas do Azure e do .NET.
Próximas etapas
Mais códigos de exemplo
Mais Documentações
Para obter mais informações sobre o SDK do Azure, consulte este site.
Participante
Para obter detalhes sobre como contribuir para esse repositório, consulte o guia de contribuição.
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.
Quando você envia uma solicitação de pull, um CLA-bot determinará automaticamente se você precisa fornecer um CLA e decorar a PR adequadamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer essa ação uma vez em todos os repositórios usando nosso CLA.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para saber mais, confira as Perguntas frequentes sobre o Código de Conduta ou contate o opencode@microsoft.com caso tenha outras dúvidas ou comentários.