Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo mostra como se conectar aos recursos do Armazenamento do Azure usando a biblioteca de gerenciamento do Armazenamento do Azure para .NET. Uma vez conectado, você pode criar, atualizar e excluir contas de armazenamento e gerenciar as configurações da conta de armazenamento. Para saber mais sobre as diferenças entre o gerenciamento de recursos e o acesso a dados usando bibliotecas de cliente do Armazenamento do Azure, consulte Visão geral das bibliotecas de cliente do Armazenamento do Azure.
Referência | da APINuGet | GitHub | Enviar comentários
Prerequisites
- Subscrição do Azure - crie uma gratuitamente
- SDK .NET mais recente para seu sistema operacional. Certifique-se de obter o SDK e não o tempo de execução.
Configure o seu projeto
Esta seção orienta você na preparação de um projeto para trabalhar com a biblioteca de gerenciamento de Armazenamento do Azure para .NET.
No diretório do projeto, instale pacotes para o Gerenciador de Recursos de Armazenamento do Azure e as bibliotecas de cliente do Azure Identity usando o dotnet add package comando. O pacote Azure.Identity é necessário para conexões sem senha com os serviços do Azure.
dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager.Storage
Adicione estas using diretivas no topo do ficheiro de código.
using Azure.Identity;
using Azure.ResourceManager;
Informações da biblioteca de gestão:
- Azure.ResourceManager.Storage: contém as classes primárias que representam as coleções, os recursos e os dados para gerenciar contas de armazenamento.
Autorizar o acesso e criar um cliente
Para conectar um aplicativo e gerenciar recursos da conta de armazenamento, crie um objeto ArmClient . Este objeto de cliente é o ponto de entrada para todos os clientes do Azure Resource Manager (ARM). Como todas as APIs de gerenciamento passam pelo mesmo ponto de extremidade, você só precisa criar um nível ArmClient superior para interagir com os recursos.
Atribuir permissões de gerenciamento com o Azure RBAC
O Azure fornece funções internas que concedem permissões para operações de gerenciamento de chamadas. O Armazenamento do Azure também fornece funções internas especificamente para uso com o provedor de recursos do Armazenamento do Azure. Para saber mais, consulte Funções internas para operações de gerenciamento.
Autorizar o acesso usando DefaultAzureCredential
Você pode autorizar um ArmClient objeto usando um token de autorização do Microsoft Entra. No exemplo de código neste artigo, usamos DefaultAzureCredential para autorizar o objeto cliente. A DefaultAzureCredential classe fornece um fluxo de autenticação padrão TokenCredential para aplicativos que serão implantados no Azure. Para saber mais, consulte DefaultAzureCredential.
Para autorizar com o Microsoft Entra ID, é necessário usar uma entidade de segurança. O tipo de principal de segurança necessário depende de onde a sua aplicação está a ser executada. Use a tabela a seguir como guia:
| Onde o aplicativo é executado | Principal de segurança | Guidance |
|---|---|---|
| Máquina local (desenvolvimento e testes) | Principal de Serviço | Para saber como registrar o aplicativo, configurar um grupo do Microsoft Entra, atribuir funções e configurar variáveis de ambiente, consulte Autorizar acesso usando entidades de serviço de desenvolvedor |
| Máquina local (desenvolvimento e testes) | Identidade do utilizador | Para saber como configurar um grupo do Microsoft Entra, atribuir funções e entrar no Azure, consulte Autorizar acesso usando credenciais de desenvolvedor |
| Hospedado no Azure | Identidade gerenciada | Para saber como habilitar uma identidade gerenciada e atribuir funções, consulte as orientações para autorizar o acesso usando uma identidade gerenciada atribuída pelo sistema ou uma identidade gerenciada atribuída pelo usuário |
| Hospedado fora do Azure (por exemplo, aplicativos locais) | Principal de Serviço | Para saber como registar a aplicação, atribuir funções e configurar variáveis de ambiente, consulte Autorizar acesso de aplicações locais usando um principal de serviço de aplicação |
Uma maneira fácil e segura de autorizar o acesso e conectar-se aos recursos da conta de armazenamento é obter um token OAuth criando uma instância DefaultAzureCredential . Em seguida, você pode usar essa credencial para criar um objeto ArmClient .
O exemplo a seguir cria um ArmClient objeto autorizado usando o e, em DefaultAzureCredentialseguida, obtém o recurso de assinatura para a ID de assinatura especificada:
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
// Create a resource identifier, then get the subscription resource
ResourceIdentifier resourceIdentifier = new($"/subscriptions/{subscriptionId}");
SubscriptionResource subscription = armClient.GetSubscriptionResource(resourceIdentifier);
Se você souber exatamente qual tipo de credencial usa para autenticar usuários, poderá obter um token OAuth usando outras classes na biblioteca de cliente do Azure Identity para .NET. Essas classes derivam da classe TokenCredential .
Para saber mais sobre como autorizar operações de gerenciamento, consulte Atribuir permissões de gerenciamento com o Azure RBAC.
Registrar o provedor de recursos de armazenamento com uma assinatura
Um provedor de recursos deve ser registrado com sua assinatura do Azure antes que você possa trabalhar com ele. Esta etapa só precisa ser feita uma vez por assinatura e só se aplica se o provedor de recursos Microsoft.Storage não estiver atualmente registrado com sua assinatura.
Você pode registrar o provedor de recursos de armazenamento ou verificar o status do registro usando o portal do Azure, a CLI do Azure ou o Azure PowerShell.
Você também pode usar as bibliotecas de gerenciamento do Azure para verificar o status de registro e registrar o provedor de recursos de armazenamento, conforme mostrado no exemplo a seguir:
public static async Task RegisterSRPInSubscription(SubscriptionResource subscription)
{
ResourceProviderResource resourceProvider =
await subscription.GetResourceProviderAsync("Microsoft.Storage");
// Check the registration state of the resource provider and register, if needed
if (resourceProvider.Data.RegistrationState == "NotRegistered")
resourceProvider.Register();
}
Note
Para executar a operação de registro, você precisa de permissões para a seguinte ação do RBAC do Azure: Microsoft.Storage/register/action. Essa permissão está incluída nas funções internas de Colaborador e Proprietário .
Criar um cliente para gerenciar recursos da conta de armazenamento
Depois de criar um ArmClient objeto e registrar o provedor de recursos de armazenamento, você pode criar objetos cliente nos níveis de grupo de recursos e conta de armazenamento. O exemplo de código a seguir mostra como criar objetos de cliente para um determinado grupo de recursos e conta de armazenamento:
// Get a resource group
ResourceGroupResource resourceGroup = await subscription.GetResourceGroupAsync(rgName);
// Get a collection of storage account resources
StorageAccountCollection accountCollection = resourceGroup.GetStorageAccounts();
// Get a specific storage account resource
StorageAccountResource storageAccount = await accountCollection.GetAsync(storageAccountName);
Compreender a hierarquia de recursos do cliente
Para reduzir o número de clientes necessários para executar tarefas comuns e o número de parâmetros redundantes que cada um desses clientes assume, o SDK de gerenciamento fornece uma hierarquia de objetos que reflete a hierarquia de objetos no Azure. Cada cliente de recurso no SDK tem métodos para aceder aos clientes de recursos subordinados que já estão configurados para a assinatura adequada e o grupo de recursos.
Existem três níveis padrão de hierarquia para cada tipo de recurso. Para recursos de conta de armazenamento, a hierarquia é a seguinte:
- StorageAccountCollection: representa as operações que você pode executar em uma coleção de contas de armazenamento pertencentes a um recurso pai específico, como um grupo de recursos.
-
StorageAccountResource: representa um objeto cliente de conta de armazenamento completo e contém uma propriedade Data expondo os detalhes como um
StorageAccountDatatipo. Uma instância de classe tem acesso a todas as operações nesse recurso sem precisar passar parâmetros de escopo, como ID de assinatura ou nome do recurso. - StorageAccountData: representa o modelo que compõe um determinado recurso. Normalmente, essa classe é os dados de resposta de uma chamada de serviço e fornece detalhes sobre o recurso.
Compilar a aplicação
O guia a seguir mostra como gerenciar recursos e executar ações específicas usando a biblioteca de gerenciamento do Armazenamento do Azure para .NET:
| Guide | Description |
|---|---|
| Gerenciar uma conta de armazenamento | Saiba como criar e gerenciar uma conta de armazenamento, gerenciar chaves de conta de armazenamento e configurar opções de cliente para criar uma política de repetição personalizada. |