Tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1 med Python
I den här artikeln får du lära dig mer om hur du använder Python SDK för att utföra tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1. Slutanvändarautentisering med Data Lake Storage Gen1 med Python finns i Slutanvändarautentisering med Data Lake Storage Gen1 med Python.
Förutsättningar
Python. Du kan hämta Python här. I den här artikeln används Python 3.6.2.
En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Skapa ett Microsoft Entra ID "Web"-program. Du måste ha slutfört stegen i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av Microsoft Entra ID.
Installera modulerna
Om du vill arbeta med Data Lake Storage Gen1 med Python måste du installera tre moduler.
-
azure-mgmt-resource
-modulen, som innehåller Azure-moduler för Active Directory osv. - Modulen
azure-mgmt-datalake-store
, som innehåller Data Lake Storage Gen1 kontohanteringsåtgärder. Mer information om den här modulen finns i Azure Data Lake Storage Referens för Gen1-hanteringsmodulen. - Modulen
azure-datalake-store
, som innehåller Data Lake Storage Gen1 filsystemåtgärder. Mer information om den här modulen finns i modulreferensen för azure-datalake-store Filesystem.
Installera modulerna med hjälp av följande kommandon.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Skapa ett nytt Python-program
Skapa ett nytt Python-program i valfritt IDE, t.ex. mysample.py.
Lägg till följande kodfragment för att importera de moduler som krävs:
## 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
Spara ändringarna i mysample.py.
”Tjänst till tjänst”-autentisering med klienthemlighet för kontohantering
Använd det här kodfragmentet för att autentisera med Microsoft Entra ID för kontohanteringsåtgärder på Data Lake Storage Gen1 till exempel skapa ett Data Lake Storage Gen1 konto, ta bort en Data Lake Storage Gen1 konto osv. Följande kodfragment kan användas för att autentisera ditt program icke-interaktivt, med hjälp av klienthemligheten för ett program/tjänstens huvudnamn för en befintlig Microsoft Entra ID "Web App"-program.
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)
Tjänst-till-tjänst-autentisering med klienthemlighet för filsystemsåtgärder
Använd följande kodfragment för att autentisera med Microsoft Entra ID för filsystemsåtgärder på Data Lake Storage Gen1 till exempel skapa mapp, ladda upp fil osv. Följande kodfragment kan användas för att autentisera ditt program icke-interaktivt med hjälp av klienthemligheten för ett program/tjänstens huvudnamn. Använd detta med en befintlig Microsoft Entra ID "Web App"-program.
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)
Nästa steg
I den här artikeln har du lärt dig hur du använder tjänst-till-tjänst-autentisering för att autentisera med Data Lake Storage Gen1 med Python. Nu kan du titta på följande artiklar som beskriver hur du använder Python för att arbeta med Data Lake Storage Gen1.