Autenticación de servicio a servicio con Azure Data Lake Storage Gen1 mediante Python

En este artículo, obtendrá información sobre cómo usar el SDK de Python para realizar la autenticación de servicio a servicio con Azure Data Lake Storage Gen1. Para la autenticación del usuario final con Data Lake Storage Gen1 mediante Python, vea End-user authentication with Data Lake Storage using Python (Autenticación del usuario final con Data Lake Storage Gen1 mediante Python).

Prerrequisitos

Instalación de los módulos

Para trabajar con Data Lake Storage Gen1 mediante Python, debe instalar tres módulos.

Utilice el comando siguiente para instalar los módulos.

pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store

Creación de una nueva aplicación de Python

  1. En el IDE que prefiera, cree una nueva aplicación de Python, por ejemplo, mysample.py.

  2. Agregue el siguiente fragmento de código para importar los módulos necesarios:

    ## 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 los cambios en mysample.py.

Autenticación de servicio a servicio con el secreto de cliente para la administración de cuentas

Use este fragmento de código para autenticarse con Microsoft Entra ID para las operaciones de administración de cuentas en Data Lake Storage Gen1, como crear una cuenta de Data Lake Storage Gen1, eliminar un Data Lake Storage Gen1 cuenta, etc. El siguiente fragmento de código se puede usar para autenticar la aplicación de forma no interactiva mediante el secreto de cliente de una aplicación o entidad de servicio de una aplicación existente Microsoft Entra ID aplicación "Aplicación web".

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)

Autenticación de servicio a servicio con el secreto de cliente para las operaciones del sistema de archivos

Use el siguiente fragmento de código para autenticarse con Microsoft Entra ID para las operaciones del sistema de archivos en Data Lake Storage Gen1 como crear carpeta, cargar archivo, etc. El siguiente fragmento de código se puede usar para autenticar la aplicación de forma no interactiva mediante el secreto de cliente de una aplicación o entidad de servicio. Úselo con una aplicación "Web App" de 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)

Pasos siguientes

En este artículo, ha aprendido a usar la autenticación de servicio a servicio para autenticarse en Data Lake Storage Gen1 con Python. Ahora puede consultar los siguientes artículos, que tratan sobre cómo usar Python para trabajar con Data Lake Storage Gen1.