共用方式為


Datastore 類別

代表 Azure Machine Learning 記憶體帳戶的記憶體抽象概念。

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

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

  • Azure Blob 容器

  • Azure 檔案共用

  • Azure Data Lake

  • Azure Data Lake Gen2

  • Azure SQL 資料庫

  • 適用於 PostgreSQL 的 Azure 資料庫

  • Databricks 檔案系統

  • 適用於 MySQL 的 Azure 資料庫

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

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

依名稱取得數據存放區。 此呼叫會對數據存放區服務提出要求。

建構函式

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 令牌或記憶體帳戶金鑰。 如果沒有認證與數據存放區一起儲存,則直接呼叫下列其中一個函式時,使用者 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_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) 和身分識別型 (預覽) 資料存取,您可以使用服務主體註冊數據存放區,以進行認證型數據存取。 如果沒有認證與數據存放區一起儲存,則直接呼叫下列其中一個函式時,使用者 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 數據存放區只能用來在 Azure Machine Learning 管線中建立 DataReference 作為 DataTransferStep 的輸入和輸出。 如需詳細資訊,請參閱這裡

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

register_azure_postgre_sql

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

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

register_azure_sql_database

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

支持認證型 (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 SQL 資料庫註冊為數據存放區的範例,請參閱下方。

register_dbfs

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

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

register_hdfs

備註

這是實驗性方法,隨時可能會變更。 如需詳細資訊,請參閱 https://aka.ms/acr/connected-registry

初始化新的 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 令牌或記憶體帳戶金鑰。 如果沒有認證與數據存放區一起儲存,則直接呼叫下列其中一個函式時,使用者 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_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。 針對讀取數據,我們至少需要容器和物件的 List 和 Read 許可權,以及針對數據寫入,我們還需要寫入和新增許可權。

預設值: 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。

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

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

預設值: None

傳回

類型 Description

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)

參數

名稱 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 Pipelines 進行數據傳輸和執行 U-Sql 作業。

您也可以將其作為 Azure Machine Learning 數據集的數據源,這些數據源可在任何支援的計算上下載或掛接。

register_azure_data_lake_gen2

初始化新的 Azure Data Lake Gen2 數據存放區。

支持認證型 (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 所提交的作業中將會使用計算目標的身分識別來進行數據存取驗證。 在這裡深入瞭解

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>

用來驗證使用者的授權單位 URL 預設為 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。 針對讀取數據,我們至少需要容器和物件的 List 和 Read 許可權,以及針對數據寫入,我們還需要寫入和新增許可權。

預設值: 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 數據存放區只能用來在 Azure Machine Learning 管線中建立 DataReference 作為 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) 和身分識別型 (預覽) 資料存取,您可以選擇使用服務主體或使用者名稱 + 密碼。 如果沒有認證與數據存放區一起儲存,則直接呼叫下列其中一個函式時,使用者 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)

參數

名稱 Description
workspace
必要

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

datastore_name
必要
str

數據存放區名稱。

server_name
必要
str

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

database_name
必要
str

SQL 資料庫名稱。

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 Server 的端點。 如果為 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/acr/connected-registry

初始化新的 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 名稱節點的IP位址或 DNS 主機名。 選擇性地包含埠。

hdfs_server_certificate
必要
str, <xref:optional>

如果搭配使用 TLS 搭配自我簽署憑證,則為 HDFS 名稱節點的 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()