使用 Python 向 Azure Data Lake Storage Gen1 進行服務對服務驗證
在本文中,您會了解如何使用 Python 向 Azure Data Lake Storage Gen1 進行服務對服務驗證。 如須使用 Python 向 Data Lake Storage Gen1 進行使用者驗證,請參閱使用 Python 向 Data Lake Storage Gen1 進行使用者驗證。
必要條件
Python。 您可以從這裡下載 Python。 本文使用 Python 3.6.2。
Azure 訂用帳戶。 請參閱取得 Azure 免費試用。
建立 Microsoft Entra ID 「Web」 應用程式。 您必須已完成使用 Microsoft Entra ID 與 Data Lake Storage Gen1 進行服務對服務驗證中的步驟。
安裝模組
若要透過 Python 使用 Data Lake Storage Gen1,您需要安裝三個模組。
-
azure-mgmt-resource
模組,這包括適用於 Active Directory 等等的 Azure 模組。 -
azure-mgmt-datalake-store
模組包括 Data Lake Storage Gen1 帳戶管理作業。 如需關於此模組的詳細資訊,請參閱 Azure Data Lake Storage Gen1 Management module reference (Azure Data Lake Storage Gen1 管理模組參考)。 -
azure-datalake-store
模組包括 Data Lake Storage Gen1 檔案系統作業。 如需關於此模組的詳細資訊,請參閱 azure-datalake-store Filesystem module reference (azure-datalake-store 檔案系統模組參考)。
使用下列命令來安裝新模組。
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
建立新的 Python 應用程式
在您選定的整合式開發環境 (IDE) 中建立新的 Python 應用程式,例如 mysample.py。
新增下列代碼段以匯入必要的模組:
## 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
將變更儲存至 mysample.py。
適用於帳戶管理的用戶端密碼服務對服務驗證
使用此代碼段向帳戶管理作業 Microsoft Entra ID 進行驗證,例如建立 Data Lake Storage Gen1 Data Lake Storage Gen1 帳戶、刪除 Data Lake Storage Gen1帳戶等等。下列代碼段可用來以非互動方式驗證應用程式,使用現有 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)
適用於檔案系統作業的用戶端密碼服務對服務驗證
使用下列代碼段向 Microsoft Entra ID 驗證 Data Lake Storage Gen1 上的文件系統作業,例如建立資料夾、上傳檔案等。下列代碼段可用來使用應用程式/服務主體的客戶端密碼,以非互動方式驗證您的應用程式。 將此專案與現有的 Microsoft Entra ID「Web 應用程式」應用程式搭配使用。
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)
下一步
在本文中,您已了解如何使用 Python 向 Data Lake Storage Gen1 進行服務對服務驗證。 您現在可以看看下列文章,了解如何配合使用 Python 與 Data Lake Storage Gen1。