共用方式為


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)

參數

名稱 Description
workspace
必要

工作區。

name
str, <xref:optional>

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

預設值: 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) 和身分識別型 (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 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) 和身分識別型 (預覽版) 資料存取,您可以選擇使用服務主體或使用者名稱 + 密碼。 如果未使用數據存放區儲存認證,則如果使用者直接呼叫下列其中一個函式,則會在筆記本或本機 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 針對數據存取驗證所提交的作業會使用計算目標的身分識別。 在這裡深入了解

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

register_dbfs

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

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

register_hdfs

注意

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

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

set_as_default

設定預設數據存放區。

unregister

取消註冊數據存放區。 將不會刪除基礎記憶體服務。

get

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

static get(workspace, datastore_name)

參數

名稱 Description
workspace
必要

工作區。

datastore_name
必要
str, <xref:optional>

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

傳回

類型 Description

該名稱的對應數據存放區。

get_default

取得工作區的預設數據存放區。

static get_default(workspace)

參數

名稱 Description
workspace
必要

工作區。

傳回

類型 Description

工作區的預設數據存放區

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)

參數

名稱 Description
workspace
必要

工作區。

datastore_name
必要
str

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

container_name
必要
str

Azure Blob 容器的名稱。

account_name
必要
str

儲存體帳戶名稱。

sas_token
str, <xref:optional>

帳戶 SAS 令牌預設為 [無]。 針對讀取數據,我們需要容器 & 對象的清單 & 讀取許可權,以及針對數據寫入,我們還需要 [寫入] & [新增許可權]。

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

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

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

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

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

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

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

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

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

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

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

略過記憶體金鑰的驗證,預設值為 False

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

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

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

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

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

記憶體帳戶的訂用帳戶標識碼,預設為 [無]。

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

記憶體帳戶的資源群組預設為 [無]。

預設值: None

傳回

類型 Description

Blob 資料存放區。

備註

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

register_azure_data_lake

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

支援以認證為基礎的 (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 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)

參數

名稱 Description
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>

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

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

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

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

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

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

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

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

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

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

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

預設值: False

傳回

類型 Description

傳回 Azure Data Lake 數據存放區。

備註

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

注意

Azure Data Lake 資料存放區支援使用 Azure Machine Learning 管線進行數據傳輸和執行 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)

參數

名稱 Description
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>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

預設值: False

傳回

類型 Description

傳回 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)

參數

名稱 Description
workspace
必要

此數據存放區所屬的工作區。

datastore_name
必要
str

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

file_share_name
必要
str

Azure 檔案容器的名稱。

account_name
必要
str

儲存體帳戶名稱。

sas_token
str, <xref:optional>

帳戶 SAS 令牌預設為 None。 針對讀取的數據,我們至少需要容器 & 對象的清單 & 讀取許可權,以及針對數據寫入,我們還需要寫入 & 新增許可權。

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

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

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

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

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

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

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

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

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

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

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

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

預設值: False

傳回

類型 Description

檔案數據存放區。

備註

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

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)

參數

名稱 Description
workspace
必要

此數據存放區所屬的工作區。

datastore_name
必要
str

數據存放區名稱。

server_name
必要
str

MySQL 伺服器名稱。

database_name
必要
str

MySQL 資料庫名稱。

user_id
必要
str

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

user_password
必要
str

MySQL 伺服器的用戶密碼。

port_number
str

MySQL 伺服器的埠號碼。

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

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

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

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

預設值: False

傳回

類型 Description

傳回 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)

參數

名稱 Description
workspace
必要

此數據存放區所屬的工作區。

datastore_name
必要
str

數據存放區名稱。

server_name
必要
str

PostgreSQL 伺服器名稱。

database_name
必要
str

PostgreSQL 資料庫名稱。

user_id
必要
str

PostgreSQL 伺服器的用戶標識碼。

user_password
必要
str

PostgreSQL 伺服器的用戶密碼。

port_number
str

PostgreSQL 伺服器的埠號碼

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

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

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

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

預設值: False
enforce_ssl

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

預設值: True

傳回

類型 Description

傳回 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) 和身分識別型 (預覽版) 資料存取,您可以選擇使用服務主體或使用者名稱 + 密碼。 如果未使用數據存放區儲存認證,則如果使用者直接呼叫下列其中一個函式,則會在筆記本或本機 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 針對數據存取驗證所提交的作業會使用計算目標的身分識別。 在這裡深入了解

如需如何將 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)

參數

名稱 Description
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>

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

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

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

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

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

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

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

預設值: False
username
str

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

預設值: None
password
str

資料庫用戶用來存取資料庫的密碼。

預設值: None
skip_validation
必要
bool, <xref:optional>

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

subscription_id
str, <xref:optional>

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

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

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

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

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

預設值: False

傳回

類型 Description

傳回 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

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

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

static register_dbfs(workspace, datastore_name)

參數

名稱 Description
workspace
必要

此數據存放區所屬的工作區。

datastore_name
必要
str

數據存放區名稱。

傳回

類型 Description

傳回 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)

參數

名稱 Description
workspace
必要

此數據存放區所屬的工作區

datastore_name
必要
str

數據存放區名稱

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

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

namenode_address
必要
str

HDFS namenode 的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 主體的索引鍵 () 。 請提供此密碼或密碼。

kerberos_password
必要
str, <xref:optional>

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

overwrite
必要
bool, <xref:optional>

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

set_as_default

設定預設數據存放區。

set_as_default()

參數

名稱 Description
datastore_name
必要
str

數據存放區的名稱。

unregister

取消註冊數據存放區。 將不會刪除基礎記憶體服務。

unregister()