Autenticação serviço a serviço com o Azure Data Lake Storage Gen1 com Python
Neste artigo, vai aprender a utilizar o SDK python para efetuar a autenticação serviço a serviço com o Azure Data Lake Storage Gen1. Para a autenticação do utilizador final com Data Lake Storage Gen1 através do Python, veja Autenticação do utilizador final com Data Lake Storage Gen1 com Python.
Pré-requisitos
Python. Pode transferir o Python aqui. Este artigo utiliza a versão Python 3.6.2.
Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
Crie uma aplicação "Web" Microsoft Entra ID. Tem de ter concluído os passos em Autenticação serviço a serviço com Data Lake Storage Gen1 através de Microsoft Entra ID.
Instalar os módulos
Para trabalhar com Data Lake Storage Gen1 com o Python, tem de instalar três módulos.
- O módulo
azure-mgmt-resource
, que inclui módulos do Azure para o Active Directory, etc. - O
azure-mgmt-datalake-store
módulo, que inclui as operações de gestão de contas Data Lake Storage Gen1. Para obter mais informações sobre este módulo, veja Azure Data Lake Storage Gen1 Management module reference (Referência do módulo gestão do Azure Data Lake Storage Gen1). - O
azure-datalake-store
módulo, que inclui as operações Data Lake Storage Gen1 sistema de ficheiros. Para obter mais informações sobre este módulo, veja azure-datalake-store Filesystem module reference (Referência do módulo Filesystem do azure-datalake-store).
Utilize os comandos seguintes para instalar os módulos.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Criar uma aplicação Python nova
No IDE à sua escolha, crie uma aplicação Python nova, como, por exemplo, mysample.py.
Adicione o fragmento seguinte para importar os módulos necessários:
## Use this for Azure AD authentication from msrestazure.azure_active_directory import AADTokenCredentials ## Required for Data Lake Storage Gen1 account management from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient from azure.mgmt.datalake.store.models import DataLakeStoreAccount ## Required for Data Lake Storage Gen1 filesystem management from azure.datalake.store import core, lib, multithread # Common Azure imports import adal from azure.mgmt.resource.resources import ResourceManagementClient from azure.mgmt.resource.resources.models import ResourceGroup ## Use these as needed for your application import logging, getpass, pprint, uuid, time
Guarde as alterações a mysample.py.
Autenticação serviço para serviço com segredo do cliente para gestão da conta
Utilize este fragmento para autenticar com Microsoft Entra ID para operações de gestão de contas em Data Lake Storage Gen1 como criar uma conta Data Lake Storage Gen1, eliminar um Data Lake Storage Gen1 conta, etc. O fragmento seguinte pode ser utilizado para autenticar a aplicação de forma não interativa, utilizando o segredo do cliente para uma aplicação/principal de serviço de uma aplicação Microsoft Entra ID aplicação "Aplicação Web" existente.
authority_host_uri = 'https://login.microsoftonline.com'
tenant = '<TENANT>'
authority_uri = authority_host_uri + '/' + tenant
RESOURCE = 'https://management.core.windows.net/'
client_id = '<CLIENT_ID>'
client_secret = '<CLIENT_SECRET>'
context = adal.AuthenticationContext(authority_uri, api_version=None)
mgmt_token = context.acquire_token_with_client_credentials(RESOURCE, client_id, client_secret)
armCreds = AADTokenCredentials(mgmt_token, client_id, resource=RESOURCE)
Autenticação de serviço para serviço com segredo do cliente para operações de sistema de ficheiros
Utilize o fragmento seguinte para autenticar com Microsoft Entra ID para operações do sistema de ficheiros em Data Lake Storage Gen1 como criar pasta, carregar ficheiro, etc. O fragmento seguinte pode ser utilizado para autenticar a sua aplicação de forma não interativa, utilizando o segredo do cliente para uma aplicação/principal de serviço. Utilize esta opção com uma aplicação de Microsoft Entra ID "Aplicação Web" existente.
tenant = '<TENANT>'
RESOURCE = 'https://datalake.azure.net/'
client_id = '<CLIENT_ID>'
client_secret = '<CLIENT_SECRET>'
adlCreds = lib.auth(tenant_id = tenant,
client_secret = client_secret,
client_id = client_id,
resource = RESOURCE)
Passos seguintes
Neste artigo, aprendeu a utilizar a autenticação serviço a serviço para autenticar com Data Lake Storage Gen1 com Python. Agora, pode ver os seguintes artigos que falam sobre como utilizar o Python para trabalhar com Data Lake Storage Gen1.