Autenticação de serviço a serviço com Azure Data Lake Storage Gen1 usando Python
Neste artigo, você aprenderá como usar o SDK do Python para fazer a autenticação de serviço a serviço com Azure Data Lake Storage Gen1. Para autenticação de usuário final com Data Lake Storage Gen1 usando Python, consulte Autenticação de usuário final com Data Lake Storage Gen1 usando Python.
Pré-requisitos
Python. Você pode baixar o Python aqui. Este artigo usa o Python 3.6.2.
Uma assinatura do Azure. Consulte Obter a avaliação gratuita do Azure.
Crie um aplicativo "Web" Microsoft Entra ID. Você deve ter concluído as etapas na autenticação serviço a serviço com Data Lake Storage Gen1 usando Microsoft Entra ID.
Instalar os módulos
Para trabalhar com o Data Lake Storage Gen1 usando o Python, você precisa instalar três módulos.
- O módulo
azure-mgmt-resource
, que inclui módulos do Azure para o Active Directory etc. - O módulo
azure-mgmt-datalake-store
, que inclui as operações de gerenciamento de conta do Data Lake Storage Gen1. Para obter mais informações sobre esse módulo, consulte Referência do módulo de gerenciamento do Azure Data Lake Storage Gen1. - O módulo
azure-datalake-store
, que inclui as operações do sistema de arquivos do Data Lake Storage Gen1. Para obter mais informações sobre esse módulo, consulte referência do módulo Filesystem azure-datalake-store.
Use os comandos a seguir para instalar os módulos.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Criar um novo aplicativo Python
Use o IDE de sua escolha para criar um novo aplicativo Python, por exemplo, mysample.py.
Adicione o seguinte snippet 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
Salve as alterações a mysample.py.
Autenticação de serviço a serviço com o segredo do cliente para gerenciamento de conta
Use este snippet para autenticar com Microsoft Entra ID para operações de gerenciamento de conta em Data Lake Storage Gen1 como criar uma conta Data Lake Storage Gen1, excluir um Data Lake Storage Gen1 conta, etc. O snippet a seguir pode ser usado para autenticar seu aplicativo de forma não interativa, usando o segredo do cliente para um aplicativo/entidade de serviço de um aplicativo "Aplicativo Web" Microsoft Entra ID 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 a serviço com o segredo do cliente para operações do sistema de arquivos
Use o snippet a seguir para autenticar com Microsoft Entra ID para operações de sistema de arquivos em Data Lake Storage Gen1 como criar pasta, carregar arquivo etc. O snippet a seguir pode ser usado para autenticar seu aplicativo de forma não interativa, usando o segredo do cliente para um aplicativo/entidade de serviço. Use isso com um aplicativo "Aplicativo Web" Microsoft Entra ID 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)
Próximas etapas
Neste artigo, você aprendeu como usar a autenticação de serviço a serviço para autenticar com o Data Lake Storage Gen1 usando Python. Agora você pode consultar os seguintes artigos que descrevem como usar o Python para trabalhar com o Data Lake Storage Gen1.