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

Instalar os módulos

Para trabalhar com Data Lake Storage Gen1 com o Python, tem de instalar três módulos.

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

  1. No IDE à sua escolha, crie uma aplicação Python nova, como, por exemplo, mysample.py.

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