建立資料存放區

已完成

在 Azure Machine Learning 中,資料存放區是雲端資料來源的抽象概念, 它們會封裝連線到資料來源所需的資訊,並安全地儲存此連線資訊,因此您不需要在指令碼中撰寫程式碼。

使用資料存放區的優點包括:

  • 為您的資料儲存體提供便於使用的 URI。
  • 協助 Azure 機器學習中的資料探索。
  • 安全地儲存連線資訊,而不會向資料科學家公開秘密和金鑰。

當您在 Azure 上建立具有現有儲存體帳戶的資料存放區時,您可以選擇兩種不同的驗證方法:

Diagram of two different authentication methods Azure Machine Learning datastores use to connect to external data sources.

  • 認證型:使用服務主體共用存取簽章 (SAS) 權杖或帳戶金鑰來驗證儲存體帳戶的存取權。
  • 以身分識別為依據:使用您的「Microsoft Entra 身分識別」或「受控識別」

瞭解資料存放區的類型

Azure Machine Learning 支援建立多種 Azure 資料來源適用的資料存放區,包括:

  • Azure Blob 儲存體
  • Azure 檔案共用
  • Azure Data Lake (Gen 2)

使用內建資料存放區

每個工作區都有四個內建資料存放區(兩個連線到Azure 儲存體 Blob 容器,兩個連線到Azure 儲存體檔案共用),Azure 機器學習會用來作為系統儲存體。

在大部分的機器學習專案中,您需要使用自己的資料來源。 例如,您可以將機器學習解決方案與來自現有應用程式或資料工程管線的資料整合。

建立資料存放區

資料存放區會附加至工作區,並用來儲存儲存體服務的連線資訊。 當您建立資料存放區時,會提供可用來擷取連線資訊的名稱。

資料存放區可讓您輕鬆地連線到儲存體服務,而不需要在每次您想要讀取或寫入資料時提供所有必要的詳細資料。 如果您想要讓使用者使用資料,但不會直接連線到基礎儲存體服務,它也會建立保護層。

建立 Azure Blob 儲存體容器的資料存放區

您可以透過圖形化使用者介面、Azure 命令列介面 (CLI) 或 Python 軟體開發套件 (SDK) 來建立資料存放區。

根據您想要連線的儲存體服務,Azure Machine Learning 有不同的驗證選項。

例如,當您想要建立資料存放區以連線到Azure Blob 儲存體容器時,您可以使用帳戶金鑰:

blob_datastore = AzureBlobDatastore(
    			name = "blob_example",
    			description = "Datastore pointing to a blob container",
    			account_name = "mytestblobstore",
    			container_name = "data-container",
    			credentials = AccountKeyConfiguration(
        			account_key="XXXxxxXXXxXXXXxxXXX"
    			),
)
ml_client.create_or_update(blob_datastore)

或者,您可以使用 SAS 權杖進行驗證,建立資料存放區以連線到 Azure Blob 儲存體容器:

blob_datastore = AzureBlobDatastore(
name="blob_sas_example",
description="Datastore pointing to a blob container",
account_name="mytestblobstore",
container_name="data-container",
credentials=SasTokenConfiguration(
sas_token="?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX"
),
)
ml_client.create_or_update(blob_datastore)