Partilhar via


Autenticação de serviço a serviço com o Azure Data Lake Storage Gen1 usando Python

Neste artigo, você aprenderá sobre como usar o SDK do Python para fazer autenticação de serviço a serviço com o 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 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 azure-mgmt-datalake-store módulo, que inclui as operações de gerenciamento de conta do Data Lake Storage Gen1. Para obter mais informações sobre este módulo, consulte Referência do módulo de Gerenciamento do Azure Data Lake Storage Gen1.
  • O azure-datalake-store módulo, que inclui as operações do sistema de arquivos Data Lake Storage Gen1. Para obter mais informações sobre este módulo, consulte Referência do módulo Filesystem 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

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

  2. Adicione o seguinte trecho 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 de serviço para serviço com segredo de cliente para gestão de contas

Utilize este trecho para autenticar com o Microsoft Entra ID para operações de gestão de conta no Data Lake Storage Gen1, como criar ou excluir uma conta no Data Lake Storage Gen1, entre outros. O seguinte trecho pode ser usado para autenticar a sua aplicação de forma não interativa, utilizando o segredo do cliente para um principal de serviço de uma aplicação "Web App" existente do Microsoft Entra ID.

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

Use o trecho a seguir para autenticar com o Microsoft Entra ID para operações do sistema de arquivos no Data Lake Storage Gen1, como criar pasta, carregar arquivo, etc. O trecho a seguir pode ser usado para autenticar seu aplicativo de forma não interativa, usando o segredo do cliente para uma entidade de aplicativo/serviço. Use isso com um aplicativo "Web App" existente do Microsoft Entra ID.

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óximos passos

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 ver os seguintes artigos que falam sobre como usar Python para trabalhar com o Data Lake Storage Gen1.