Datastore 類別

代表 Azure Machine Learning 儲存體帳戶的儲存體抽象概念。

資料存放區會附加至工作區,並用來將連線資訊儲存至 Azure 儲存體服務,因此您可以依名稱參考它們,而不需要記住用來連線到儲存體服務的連線資訊和秘密。

可註冊為數據存放區的支援的 Azure 儲存體服務範例如下:

  • Azure Blob 容器

  • Azure 檔案共用

  • Azure Data Lake

  • Azure Data Lake Gen2

  • Azure SQL Database

  • 適用於 PostgreSQL 的 Azure 資料庫

  • Databricks 檔案系統

  • 適用於 MySQL 的 Azure 資料庫

使用此類別來執行管理作業,包括暫存器、清單、取得和移除資料存放區。 每個服務的資料存放區都會使用 register* 這個類別的方法建立。 使用資料存放區來存取資料時,您必須具有存取該資料的許可權,這取決於向資料存放區註冊的認證。

如需資料存放區以及如何在機器學習中使用的詳細資訊,請參閱下列文章:

繼承
builtins.object
Datastore

建構函式

Datastore(workspace, name=None)

參數

workspace
name
預設值: None

備註

若要與資料存放區中的資料互動,以進行機器學習工作,例如定型, 請建立 Azure Machine Learning 資料集。 資料集提供將表格式資料載入 Pandas 或 Spark DataFrame 中的功能。 資料集也能讓您從 Azure Blob 儲存體、Azure 檔案儲存體、Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、Azure SQL Database 和適用於 PostgreSQL 的 Azure 資料庫下載或掛接任何格式的檔案。 深入了解如何使用資料集進行定型

下列範例示範如何建立連線至 Azure Blob 容器的資料存放區。


   from azureml.exceptions import UserErrorException

   blob_datastore_name='MyBlobDatastore'
   account_name=os.getenv("BLOB_ACCOUNTNAME_62", "<my-account-name>") # Storage account name
   container_name=os.getenv("BLOB_CONTAINER_62", "<my-container-name>") # Name of Azure blob container
   account_key=os.getenv("BLOB_ACCOUNT_KEY_62", "<my-account-key>") # Storage account key

   try:
       blob_datastore = Datastore.get(ws, blob_datastore_name)
       print("Found Blob Datastore with name: %s" % blob_datastore_name)
   except UserErrorException:
       blob_datastore = Datastore.register_azure_blob_container(
           workspace=ws,
           datastore_name=blob_datastore_name,
           account_name=account_name, # Storage account name
           container_name=container_name, # Name of Azure blob container
           account_key=account_key) # Storage account key
       print("Registered blob datastore with name: %s" % blob_datastore_name)

   blob_data_ref = DataReference(
       datastore=blob_datastore,
       data_reference_name="blob_test_data",
       path_on_datastore="testdata")

完整範例可從 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-data-transfer.ipynb

方法

get

依名稱取得資料存放區。 這與呼叫建構函式相同。

get_default

取得工作區的預設資料存放區。

register_azure_blob_container

向資料存放區註冊 Azure Blob 容器。

支援認證型 (GA) 和身分識別型 (預覽版) 資料存取,您可以選擇使用 SAS 權杖或儲存體帳戶金鑰。 如果沒有認證與資料存放區一起儲存,則如果使用者直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用使用者的 AAD 權杖:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 針對資料存取驗證所提交的作業會使用計算目標的身分識別。 在此深入了解

register_azure_data_lake

初始化新的 Azure Data Lake 資料存放區。

支援認證型 (GA) 和身分識別型 (預覽版) 資料存取,您可以向服務主體註冊資料存放區,以進行認證型資料存取。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

如需如何將 Azure Data Lake Gen1 註冊為數據存放區的範例,請參閱下方。


   adlsgen1_datastore_name='adlsgen1datastore'

   store_name=os.getenv("ADL_STORENAME", "<my_datastore_name>") # the ADLS name
   subscription_id=os.getenv("ADL_SUBSCRIPTION", "<my_subscription_id>") # subscription id of the ADLS
   resource_group=os.getenv("ADL_RESOURCE_GROUP", "<my_resource_group>") # resource group of ADLS
   tenant_id=os.getenv("ADL_TENANT", "<my_tenant_id>") # tenant id of service principal
   client_id=os.getenv("ADL_CLIENTID", "<my_client_id>") # client id of service principal
   client_secret=os.getenv("ADL_CLIENT_SECRET", "<my_client_secret>") # the secret of service principal

   adls_datastore = Datastore.register_azure_data_lake(
       workspace=ws,
       datastore_name=aslsgen1_datastore_name,
       subscription_id=subscription_id, # subscription id of ADLS account
       resource_group=resource_group, # resource group of ADLS account
       store_name=store_name, # ADLS account name
       tenant_id=tenant_id, # tenant id of service principal
       client_id=client_id, # client id of service principal
       client_secret=client_secret) # the secret of service principal
register_azure_data_lake_gen2

初始化新的 Azure Data Lake Gen2 資料存放區。

支援以認證為基礎的 (GA) 和身分識別型 (Preview) 資料存取,您可以使用服務主體註冊資料存放區,以進行認證型資料存取。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

register_azure_file_share

向資料存放區註冊 Azure 檔案共用。

您可以選擇使用 SAS 權杖或儲存體帳戶金鑰

register_azure_my_sql

初始化新的 Azure MySQL 資料存放區。

MySQL 資料存放區只能用來建立 DataReference 作為 Azure Machine Learning 管線中 DataTransferStep 的輸入和輸出。 如需詳細資訊,請參閱這裡

如需如何將 Azure MySQL 資料庫註冊為數據存放區的範例,請參閱下方。

register_azure_postgre_sql

初始化新的 Azure PostgreSQL 資料存放區。

如需如何將 Azure PostgreSQL 資料庫註冊為數據存放區的範例,請參閱下方。

register_azure_sql_database

初始化新的Azure SQL資料庫資料存放區。

支援以認證為基礎的 (GA) 和身分識別型 (Preview) 資料存取,您可以選擇使用服務主體或使用者名稱 + 密碼。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

如需如何將Azure SQL資料庫註冊為數據存放區的範例,請參閱下方。

register_dbfs

(DBFS) 資料存放區,初始化新的 Databricks 檔案系統。

DBFS 資料存放區只能用來建立 DataReference 作為輸入和 PipelineData 做為 Azure Machine Learning 管線中 DatabricksStep 的輸出。 如需詳細資訊,請參閱這裡。

register_hdfs

注意

這是實驗性方法,隨時可能會變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。

初始化新的 HDFS 資料存放區。

set_as_default

設定預設資料存放區。

unregister

取消註冊資料存放區。 基礎儲存體服務將不會刪除。

get

依名稱取得資料存放區。 這與呼叫建構函式相同。

static get(workspace, datastore_name)

參數

workspace
Workspace
必要

工作區。

datastore_name
str, <xref:optional>
必要

資料存放區的名稱預設為 None,這會取得預設的資料存放區。

傳回

該名稱的對應資料存放區。

傳回類型

get_default

取得工作區的預設資料存放區。

static get_default(workspace)

參數

workspace
Workspace
必要

工作區。

傳回

工作區的預設資料存放區

傳回類型

register_azure_blob_container

向資料存放區註冊 Azure Blob 容器。

支援認證型 (GA) 和身分識別型 (預覽版) 資料存取,您可以選擇使用 SAS 權杖或儲存體帳戶金鑰。 如果沒有認證與資料存放區一起儲存,則如果使用者直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用使用者的 AAD 權杖:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 針對資料存取驗證所提交的作業會使用計算目標的身分識別。 在此深入了解

static register_azure_blob_container(workspace, datastore_name, container_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, overwrite=False, create_if_not_exists=False, skip_validation=False, blob_cache_timeout=None, grant_workspace_access=False, subscription_id=None, resource_group=None)

參數

workspace
Workspace
必要

工作區。

datastore_name
str
必要

資料存放區的名稱不區分大小寫,只能包含英數位元和 _。

container_name
str
必要

Azure Blob 容器的名稱。

account_name
str
必要

儲存體帳戶名稱。

sas_token
str, <xref:optional>
預設值: None

帳戶 SAS 權杖預設為 [無]。 針對讀取資料,我們需要容器 & 物件的 [列出 & 讀取] 許可權下限,而針對資料寫入,我們還需要 [寫入 & 新增] 許可權。

account_key
str, <xref:optional>
預設值: None

儲存體帳戶的存取金鑰預設為 [無]。

protocol
str, <xref:optional>
預設值: None

用來連線到 Blob 容器的通訊協定。 如果為 None,則預設為 HTTPs。

endpoint
str, <xref:optional>
預設值: None

儲存體帳戶的端點。 如果為 None,則預設為 core.windows.net。

overwrite
bool, <xref:optional>
預設值: False

會覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區,預設為 False

create_if_not_exists
bool, <xref:optional>
預設值: False

如果 Blob 容器不存在,則建立 Blob 容器,預設值為 False

skip_validation
bool, <xref:optional>
預設值: False

略過儲存體金鑰的驗證,預設值為 False

blob_cache_timeout
int, <xref:optional>
預設值: None

掛接此 Blob 時,請將快取逾時設定為此多秒。 如果為 None,則預設為沒有逾時 (,也就是讀取) 時,將會快取作業持續時間的 Blob。

grant_workspace_access
bool, <xref:optional>
預設值: False

預設為 False。 將它設定為 True,從 Machine Learning Studio 存取虛擬網路後方的資料。這可讓 Machine Learning Studio 的資料存取使用工作區受控識別進行驗證,並將工作區受控識別新增為儲存體的讀取者。 您必須是儲存體的擁有者或使用者存取管理員,才能加入宣告。 如果您沒有必要的許可權,請要求系統管理員進行設定。 深入瞭解 ' https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network '

subscription_id
str, <xref:optional>
預設值: None

儲存體帳戶的訂用帳戶識別碼,預設為 [無]。

resource_group
str, <xref:optional>
預設值: None

儲存體帳戶的資源群組預設為 [無]。

傳回

Blob 資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。

register_azure_data_lake

初始化新的 Azure Data Lake 資料存放區。

支援認證型 (GA) 和身分識別型 (預覽版) 資料存取,您可以向服務主體註冊資料存放區,以進行認證型資料存取。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

如需如何將 Azure Data Lake Gen1 註冊為數據存放區的範例,請參閱下方。


   adlsgen1_datastore_name='adlsgen1datastore'

   store_name=os.getenv("ADL_STORENAME", "<my_datastore_name>") # the ADLS name
   subscription_id=os.getenv("ADL_SUBSCRIPTION", "<my_subscription_id>") # subscription id of the ADLS
   resource_group=os.getenv("ADL_RESOURCE_GROUP", "<my_resource_group>") # resource group of ADLS
   tenant_id=os.getenv("ADL_TENANT", "<my_tenant_id>") # tenant id of service principal
   client_id=os.getenv("ADL_CLIENTID", "<my_client_id>") # client id of service principal
   client_secret=os.getenv("ADL_CLIENT_SECRET", "<my_client_secret>") # the secret of service principal

   adls_datastore = Datastore.register_azure_data_lake(
       workspace=ws,
       datastore_name=aslsgen1_datastore_name,
       subscription_id=subscription_id, # subscription id of ADLS account
       resource_group=resource_group, # resource group of ADLS account
       store_name=store_name, # ADLS account name
       tenant_id=tenant_id, # tenant id of service principal
       client_id=client_id, # client id of service principal
       client_secret=client_secret) # the secret of service principal
static register_azure_data_lake(workspace, datastore_name, store_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, subscription_id=None, resource_group=None, overwrite=False, grant_workspace_access=False)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

store_name
str
必要

ADLS 存放區名稱。

tenant_id
str, <xref:optional>
預設值: None

用來存取資料之服務主體的目錄識別碼/租使用者識別碼。

client_id
str, <xref:optional>
預設值: None

用來存取資料之服務主體的用戶端識別碼/應用程式識別碼。

client_secret
str, <xref:optional>
預設值: None

用來存取資料之服務主體的用戶端密碼。

resource_url
str, <xref:optional>
預設值: None

資源 URL,決定 Data Lake Store 上將執行哪些作業,如果為 None,則預設 https://datalake.azure.net/ 會允許我們執行檔案系統作業。

authority_url
str, <xref:optional>
預設值: None

用來驗證使用者的授權單位 URL 預設為 https://login.microsoftonline.com

subscription_id
str, <xref:optional>
預設值: None

ADLS 存放區所屬的訂用帳戶識別碼。

resource_group
str, <xref:optional>
預設值: None

ADLS 存放區所屬的資源群組。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

grant_workspace_access
bool, <xref:optional>
預設值: False

預設為 False。 將它設定為 True,從 Machine Learning Studio 存取虛擬網路後方的資料。這可讓 Machine Learning Studio 的資料存取使用工作區受控識別進行驗證,並將工作區受控識別新增為儲存體的讀取者。 您必須是儲存體的擁有者或使用者存取管理員,才能加入宣告。 如果您沒有必要的許可權,請要求系統管理員進行設定。 深入瞭解 ' https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network '

傳回

傳回 Azure Data Lake 資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。

注意

Azure Data Lake Datastore 支援使用 Azure Machine Learning Pipelines 進行資料傳輸和執行 U-Sql 作業。

您也可以使用它作為 Azure Machine Learning 資料集的資料來源,這些資料集可在任何支援的計算上下載或掛接。

register_azure_data_lake_gen2

初始化新的 Azure Data Lake Gen2 資料存放區。

支援以認證為基礎的 (GA) 和身分識別型 (Preview) 資料存取,您可以使用服務主體註冊資料存放區,以進行認證型資料存取。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

static register_azure_data_lake_gen2(workspace, datastore_name, filesystem, account_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, protocol=None, endpoint=None, overwrite=False, subscription_id=None, resource_group=None, grant_workspace_access=False)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

filesystem
str
必要

Data Lake Gen2 檔案系統的名稱。

account_name
str
必要

儲存體帳戶名稱。

tenant_id
str, <xref:optional>
預設值: None

服務主體的目錄識別碼/租使用者識別碼。

client_id
str, <xref:optional>
預設值: None

服務主體的用戶端識別碼/應用程式識別碼。

client_secret
str, <xref:optional>
預設值: None

服務主體的秘密。

resource_url
str, <xref:optional>
預設值: None

資源 URL,決定將在 Data Lake Store 上執行的作業,預設 https://storage.azure.com/ 會允許我們執行檔案系統作業。

authority_url
str, <xref:optional>
預設值: None

用來驗證使用者的授權 URL 預設為 https://login.microsoftonline.com

protocol
str, <xref:optional>
預設值: None

用來連線到 Blob 容器的通訊協定。 如果為 None,則預設為 HTTPs。

endpoint
str, <xref:optional>
預設值: None

儲存體帳戶的端點。 如果為 None,則預設為 core.windows.net。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

subscription_id
str, <xref:optional>
預設值: None

ADLS 存放區所屬的訂用帳戶識別碼。

resource_group
str, <xref:optional>
預設值: None

ADLS 存放區所屬的資源群組。

grant_workspace_access
bool, <xref:optional>
預設值: False

預設為 False。 將它設定為 True,以從 Machine Learning Studio 存取虛擬網路後方的資料。這可讓 Machine Learning Studio 的資料存取使用工作區受控識別進行驗證,並將工作區受控識別新增為儲存體的讀取者。 您必須是儲存體的擁有者或使用者存取系統管理員,才能加入宣告。 如果您沒有必要的許可權,請要求系統管理員進行設定。 深入瞭解 ' https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network '

傳回

傳回 Azure Data Lake Gen2 資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。

register_azure_file_share

向資料存放區註冊 Azure 檔案共用。

您可以選擇使用 SAS 權杖或儲存體帳戶金鑰

static register_azure_file_share(workspace, datastore_name, file_share_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, overwrite=False, create_if_not_exists=False, skip_validation=False)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區的名稱不區分大小寫,只能包含英數位元和 _。

file_share_name
str
必要

Azure 檔案容器的名稱。

account_name
str
必要

儲存體帳戶名稱。

sas_token
str, <xref:optional>
預設值: None

帳戶 SAS 權杖預設為 None。 針對讀取的資料,我們需要容器 & 物件的 [清單 & 讀取] 許可權下限,而針對資料寫入,我們還需要 [寫入 & 新增] 許可權。

account_key
str, <xref:optional>
預設值: None

儲存體帳戶的存取金鑰預設為 [無]。

protocol
str, <xref:optional>
預設值: None

用來連線至檔案共用的通訊協定。 如果為 None,則預設為 HTTPs。

endpoint
str, <xref:optional>
預設值: None

檔案共用的端點。 如果為 None,則預設為 core.windows.net。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

create_if_not_exists
bool, <xref:optional>
預設值: False

如果檔案共用不存在,是否要建立檔案共用。 預設值是 False。

skip_validation
bool, <xref:optional>
預設值: False

是否要略過儲存體金鑰的驗證。 預設值是 False。

傳回

檔案資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。

register_azure_my_sql

初始化新的 Azure MySQL 資料存放區。

MySQL 資料存放區只能用來建立 DataReference 作為 Azure Machine Learning 管線中 DataTransferStep 的輸入和輸出。 如需詳細資訊,請參閱這裡

如需如何將 Azure MySQL 資料庫註冊為數據存放區的範例,請參閱下方。

static register_azure_my_sql(workspace, datastore_name, server_name, database_name, user_id, user_password, port_number=None, endpoint=None, overwrite=False, **kwargs)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

server_name
str
必要

MySQL 伺服器名稱。

database_name
str
必要

MySQL 資料庫名稱。

user_id
str
必要

MySQL 伺服器的使用者識別碼。

user_password
str
必要

MySQL 伺服器的使用者密碼。

port_number
str
預設值: None

MySQL 伺服器的埠號碼。

endpoint
str, <xref:optional>
預設值: None

MySQL 伺服器的端點。 如果為 None,則預設為 mysql.database.azure.com。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

傳回

傳回 MySQL 資料庫資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。


   mysql_datastore_name="mysqldatastore"
   server_name=os.getenv("MYSQL_SERVERNAME", "<my_server_name>") # FQDN name of the MySQL server
   database_name=os.getenv("MYSQL_DATBASENAME", "<my_database_name>") # Name of the MySQL database
   user_id=os.getenv("MYSQL_USERID", "<my_user_id>") # The User ID of the MySQL server
   user_password=os.getenv("MYSQL_USERPW", "<my_user_password>") # The user password of the MySQL server.

   mysql_datastore = Datastore.register_azure_my_sql(
       workspace=ws,
       datastore_name=mysql_datastore_name,
       server_name=server_name,
       database_name=database_name,
       user_id=user_id,
       user_password=user_password)

register_azure_postgre_sql

初始化新的 Azure PostgreSQL 資料存放區。

如需如何將 Azure PostgreSQL 資料庫註冊為數據存放區的範例,請參閱下方。

static register_azure_postgre_sql(workspace, datastore_name, server_name, database_name, user_id, user_password, port_number=None, endpoint=None, overwrite=False, enforce_ssl=True, **kwargs)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

server_name
str
必要

PostgreSQL 伺服器名稱。

database_name
str
必要

PostgreSQL 資料庫名稱。

user_id
str
必要

PostgreSQL 伺服器的使用者識別碼。

user_password
str
必要

PostgreSQL 伺服器的使用者密碼。

port_number
str
預設值: None

PostgreSQL 伺服器的埠號碼

endpoint
str, <xref:optional>
預設值: None

PostgreSQL 伺服器的端點。 如果為 None,則預設為 postgres.database.azure.com。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

enforce_ssl
bool
預設值: True

指出 PostgreSQL 伺服器的 SSL 需求。 預設值為 True。

傳回

傳回 PostgreSQL 資料庫資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。


   psql_datastore_name="postgresqldatastore"
   server_name=os.getenv("PSQL_SERVERNAME", "<my_server_name>") # FQDN name of the PostgreSQL server
   database_name=os.getenv("PSQL_DATBASENAME", "<my_database_name>") # Name of the PostgreSQL database
   user_id=os.getenv("PSQL_USERID", "<my_user_id>") # The database user id
   user_password=os.getenv("PSQL_USERPW", "<my_user_password>") # The database user password

   psql_datastore = Datastore.register_azure_postgre_sql(
       workspace=ws,
       datastore_name=psql_datastore_name,
       server_name=server_name,
       database_name=database_name,
       user_id=user_id,
       user_password=user_password)

register_azure_sql_database

初始化新的Azure SQL資料庫資料存放區。

支援以認證為基礎的 (GA) 和身分識別型 (Preview) 資料存取,您可以選擇使用服務主體或使用者名稱 + 密碼。 如果沒有使用資料存放區儲存認證,則如果使用者的 AAD 權杖直接呼叫下列其中一個函式,則會在筆記本或本機 Python 程式中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files Experiment.submit 所提交的作業中將會使用計算目標的身分識別來進行資料存取驗證。 在此深入了解

如需如何將Azure SQL資料庫註冊為數據存放區的範例,請參閱下方。

static register_azure_sql_database(workspace, datastore_name, server_name, database_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, endpoint=None, overwrite=False, username=None, password=None, subscription_id=None, resource_group=None, grant_workspace_access=False, **kwargs)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

server_name
str
必要

SQL Server 名稱。 對於 「sample.database.windows.net」 等完整功能變數名稱,server_name值應該是 「sample」,端點值應該是 「database.windows.net」。

database_name
str
必要

SQL Database 名稱。

tenant_id
str
預設值: None

服務主體的目錄識別碼/租使用者識別碼。

client_id
str
預設值: None

服務主體的用戶端識別碼/應用程式識別碼。

client_secret
str
預設值: None

服務主體的秘密。

resource_url
str, <xref:optional>
預設值: None

資源 URL,決定在 SQL 資料庫存放區上執行哪些作業,如果無,則預設為 https://database.windows.net/

authority_url
str, <xref:optional>
預設值: None

用來驗證使用者的授權 URL 預設為 https://login.microsoftonline.com

endpoint
str, <xref:optional>
預設值: None

SQL Server 的端點。 如果為 None,則預設為 database.windows.net。

overwrite
bool, <xref:optional>
預設值: False

是否要覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設值是 False。

username
str
預設值: None

要存取資料庫之資料庫使用者的使用者名稱。

password
str
預設值: None

存取資料庫之資料庫使用者的密碼。

skip_validation
bool, <xref:optional>
必要

是否要略過連線到 SQL 資料庫的驗證。 預設為 False。

subscription_id
str, <xref:optional>
預設值: None

ADLS 存放區所屬的訂用帳戶識別碼。

resource_group
str, <xref:optional>
預設值: None

ADLS 存放區所屬的資源群組。

grant_workspace_access
bool, <xref:optional>
預設值: False

預設為 False。 將它設定為 True,以從 Machine Learning Studio 存取虛擬網路後方的資料。這可讓 Machine Learning Studio 的資料存取使用工作區受控識別進行驗證,並將工作區受控識別新增為儲存體的讀取者。 您必須是儲存體的擁有者或使用者存取系統管理員,才能加入宣告。 如果您沒有必要的許可權,請要求系統管理員進行設定。 深入瞭解 ' https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network '

傳回

傳回 SQL 資料庫資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。


   sql_datastore_name="azuresqldatastore"
   server_name=os.getenv("SQL_SERVERNAME", "<my_server_name>") # Name of the Azure SQL server
   database_name=os.getenv("SQL_DATABASENAME", "<my_database_name>") # Name of the Azure SQL database
   username=os.getenv("SQL_USER_NAME", "<my_sql_user_name>") # The username of the database user.
   password=os.getenv("SQL_USER_PASSWORD", "<my_sql_user_password>") # The password of the database user.

   sql_datastore = Datastore.register_azure_sql_database(
       workspace=ws,
       datastore_name=sql_datastore_name,
       server_name=server_name,  # name should not contain fully qualified domain endpoint
       database_name=database_name,
       username=username,
       password=password,
       endpoint='database.windows.net')

register_dbfs

(DBFS) 資料存放區,初始化新的 Databricks 檔案系統。

DBFS 資料存放區只能用來建立 DataReference 作為輸入和 PipelineData 做為 Azure Machine Learning 管線中 DatabricksStep 的輸出。 如需詳細資訊,請參閱這裡。

static register_dbfs(workspace, datastore_name)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

datastore_name
str
必要

資料存放區名稱。

傳回

傳回 DBFS 資料存放區。

傳回類型

備註

如果您要從與工作區區域不同的區域連結儲存體,可能會導致延遲較高,以及額外的網路使用量成本。

register_hdfs

注意

這是實驗性方法,隨時可能會變更。 請參閱 https://aka.ms/azuremlexperimental 以取得詳細資訊。

初始化新的 HDFS 資料存放區。

static register_hdfs(workspace, datastore_name, protocol, namenode_address, hdfs_server_certificate, kerberos_realm, kerberos_kdc_address, kerberos_principal, kerberos_keytab=None, kerberos_password=None, overwrite=False)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區

datastore_name
str
必要

資料存放區名稱

protocol
str 或 <xref:_restclient.models.enum>
必要

與 HDFS 叢集通訊時要使用的通訊協定。 HTTP 或 HTTPs。 可能的值包括:'HTTP'、'HTTPs'

namenode_address
str
必要

HDFS 名稱節點的 IP 位址或 DNS 主機名稱。 選擇性地包含埠。

hdfs_server_certificate
str, <xref:optional>
必要

如果使用 TLS 搭配自我簽署憑證,則為 HDFS namenode 的 TLS 簽署憑證路徑。

kerberos_realm
str
必要

Kerberos 領域。

kerberos_kdc_address
str
必要

Kerberos KDC 的 IP 位址或 DNS 主機名稱。

kerberos_principal
str
必要

要用於驗證和授權的 Kerberos 主體。

kerberos_keytab
str, <xref:optional>
必要

keytab 檔案的路徑,其中包含對應至 Kerberos 主體的索引鍵 (s) 。 請提供此專案或密碼。

kerberos_password
str, <xref:optional>
必要

對應至 Kerberos 主體的密碼。 請提供此檔案或 keytab 檔案的路徑。

overwrite
bool, <xref:optional>
必要

覆寫現有的資料存放區。 如果資料存放區不存在,則會建立一個資料存放區。 預設為 False。

set_as_default

設定預設資料存放區。

set_as_default()

參數

datastore_name
str
必要

資料存放區的名稱。

unregister

取消註冊資料存放區。 基礎儲存體服務將不會刪除。

unregister()