Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dowiesz się, jak używać zestawu SDK języka Python do uwierzytelniania typu usługa-usługa za pomocą usługi Azure Data Lake Storage Gen1. Aby uzyskać informacje na temat uwierzytelniania użytkowników końcowych w usłudze Data Lake Storage Gen1 przy użyciu języka Python, zobacz End-user authentication with Data Lake Storage Gen1 using Python (Uwierzytelnianie użytkowników końcowych w usłudze Data Lake Storage Gen1 przy użyciu języka Python).
Wymagania wstępne
Python. Możesz pobrać środowisko Python tutaj. W tym artykule używany jest język Python 3.6.2.
Subskrypcja platformy Azure. Zobacz Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
Utwórz aplikację „Web” Microsoft Entra ID. Musisz wykonać kroki opisane w temacie Uwierzytelnianie usługa do usługi z Data Lake Storage Gen1 przy użyciu Microsoft Entra ID.
Instalacja modułów
Aby pracować z usługą Data Lake Storage Gen1 przy użyciu języka Python, należy zainstalować trzy moduły.
- Moduł
azure-mgmt-resource
, który obejmuje moduły platformy Azure dla usługi Active Directory itp. - Moduł
azure-mgmt-datalake-store
zawierający operacje zarządzania kontami usługi Data Lake Storage Gen1. Aby uzyskać więcej informacji na temat tego modułu, zobacz Azure Data Lake Storage Gen1 Management module reference (Dokumentacja modułu zarządzania usługi Azure Data Lake Storage Gen1). - Moduł
azure-datalake-store
zawierający operacje systemu plików usługi Data Lake Storage Gen1. Aby uzyskać więcej informacji na temat tego modułu, zobacz azure-datalake-store Filesystem module reference (Dokumentacja modułu systemu plików azure-datalake-store).
Użyj następujących poleceń, aby zainstalować moduły.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Tworzenie nowej aplikacji w języku Python
W wybranym środowisku IDE utwórz nową aplikację w języku Python, na przykład mysample.py.
Dodaj następujący fragment kodu, aby zaimportować wymagane moduły:
## 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
Zapisz zmiany w aplikacji mysample.py.
Uwierzytelnianie między usługami z tajemnicą klienta w celu zarządzania kontami
Ten fragment kodu służy do uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft na potrzeby operacji zarządzania kontami w usłudze Data Lake Storage Gen1, takich jak tworzenie konta usługi Data Lake Storage Gen1, usuwanie konta usługi Data Lake Storage Gen1 itp. Następujący fragment kodu może być użyty do bezinterakcyjnego uwierzytelniania aplikacji, wykorzystując sekret klienta dla aplikacji lub jednostki usługi w istniejącej aplikacji Microsoft Entra ID "Web App".
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)
Uwierzytelnianie między usługami z użyciem tajnego klucza klienta dla operacji systemu plików
Użyj poniższego fragmentu kodu, aby uwierzytelnić się za pomocą Microsoft Entra ID na potrzeby operacji systemu plików w usłudze Data Lake Storage Gen1, takich jak tworzenie folderu, przesyłanie pliku itp. Poniższy fragment kodu może służyć do nieinterakcyjnego uwierzytelniania aplikacji przy użyciu klucza tajnego klienta dla aplikacji/jednostki usługi. Użyj tej funkcji z istniejącą aplikacją Microsoft Entra ID "Web App".
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)
Następne kroki
W tym artykule pokazano, jak używać uwierzytelniania typu usługa-usługa do uwierzytelniania w usłudze Data Lake Storage Gen1 przy użyciu języka Python. Teraz możesz zapoznać się z następującymi artykułami, które zawierają informacje na temat używania języka Python do pracy z usługą Data Lake Storage Gen1.