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.objectDatastore
建構函式
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")
方法
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 註冊為數據存放區的範例,請參閱下方。
|
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
必要
|
數據存放區的名稱不區分大小寫,只能包含英數位元和 _。 |
container_name
必要
|
Azure Blob 容器的名稱。 |
account_name
必要
|
儲存體帳戶名稱。 |
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
必要
|
數據存放區名稱。 |
store_name
必要
|
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,則預設 預設值: None
|
authority_url
|
str, <xref:optional>
用來驗證使用者的授權單位 URL 預設為 預設值: 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
必要
|
數據存放區名稱。 |
filesystem
必要
|
Data Lake Gen2 檔案系統的名稱。 |
account_name
必要
|
儲存體帳戶名稱。 |
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
|
authority_url
|
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
|
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
必要
|
數據存放區的名稱不區分大小寫,只能包含英數位元和 _。 |
file_share_name
必要
|
Azure 檔案容器的名稱。 |
account_name
必要
|
儲存體帳戶名稱。 |
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
必要
|
數據存放區名稱。 |
server_name
必要
|
MySQL 伺服器名稱。 |
database_name
必要
|
MySQL 資料庫名稱。 |
user_id
必要
|
MySQL 伺服器的使用者標識碼。 |
user_password
必要
|
MySQL 伺服器的用戶密碼。 |
port_number
|
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
必要
|
數據存放區名稱。 |
server_name
必要
|
PostgreSQL 伺服器名稱。 |
database_name
必要
|
PostgreSQL 資料庫名稱。 |
user_id
必要
|
PostgreSQL 伺服器的用戶標識碼。 |
user_password
必要
|
PostgreSQL 伺服器的用戶密碼。 |
port_number
|
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
必要
|
數據存放區名稱。 |
server_name
必要
|
SQL Server 名稱。 對於 「sample.database.windows.net」 之類的完整功能變數名稱,server_name值應該是 「sample」,而端點值應該是 「database.windows.net」。 |
database_name
必要
|
SQL Database 名稱。 |
tenant_id
|
服務主體的目錄標識碼/租用戶標識符。 預設值: None
|
client_id
|
服務主體的用戶端識別碼/應用程式識別碼。 預設值: None
|
client_secret
|
服務主體的秘密。 預設值: 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
|
要存取資料庫之資料庫用戶的用戶名稱。 預設值: None
|
password
|
資料庫用戶用來存取資料庫的密碼。 預設值: 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
必要
|
數據存放區名稱。 |
傳回
類型 | 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
必要
|
數據存放區名稱 |
protocol
必要
|
str 或
<xref:_restclient.models.enum>
與 HDFS 叢集通訊時要使用的通訊協定。 HTTP 或 HTTPs。 可能的值包括:'HTTP'、'https' |
namenode_address
必要
|
HDFS namenode 的IP位址或 DNS 主機名。 選擇性地包含埠。 |
hdfs_server_certificate
必要
|
str, <xref:optional>
如果使用 TLS 搭配自我簽署憑證,則為 HDFS namenode 的 TLS 簽署憑證路徑。 |
kerberos_realm
必要
|
Kerberos 領域。 |
kerberos_kdc_address
必要
|
Kerberos KDC 的 IP 位址或 DNS 主機名。 |
kerberos_principal
必要
|
要用於驗證和授權的 Kerberos 主體。 |
kerberos_keytab
必要
|
str, <xref:optional>
keytab 檔案的路徑,其中包含對應至 Kerberos 主體的索引鍵 () 。 請提供此密碼或密碼。 |
kerberos_password
必要
|
str, <xref:optional>
對應至 Kerberos 主體的密碼。 請提供此專案或keytab檔案的路徑。 |
overwrite
必要
|
bool, <xref:optional>
會覆寫現有的數據存放區。 如果數據存放區不存在,則會建立一個數據存放區。 預設為 False。 |
set_as_default
unregister
取消註冊數據存放區。 將不會刪除基礎記憶體服務。
unregister()