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

Instalar os módulos

Para trabalhar com o Data Lake Storage Gen1 usando o Python, você precisa instalar três módulos.

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

  1. Use o IDE de sua escolha para criar um novo aplicativo Python, por exemplo, mysample.py.

  2. 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
    
  3. 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.