创建数据存储

已完成

在 Azure 机器学习中,数据存储是云数据源的抽象概念。 它们封装连接到数据源所需的信息,并安全地存储此连接信息,这样就不必在脚本中对其进行编码。

使用数据存储的好处包括:

  • 为数据存储提供易于使用的 URI。
  • 促进 Azure 机器学习中的数据发现。
  • 安全地存储连接信息,而不会向数据科学家公开机密和密钥。

在 Azure 上使用现有存储帐户创建数据存储时,可以在两种身份验证方法之间进行选用:

Azure 机器学习数据存储用来连接到外部数据源的两种不同身份验证方法的关系图。

  • 基于凭据:使用服务主体、共享访问签名 (SAS) 令牌或帐户密钥对存储帐户的访问进行身份验证。
  • 基于标识:使用 Microsoft Entra 标识或托管标识

了解数据存储的类型

Azure 机器学习支持为多种类型的 Azure 数据源创建数据存储,包括:

  • Azure Blob 存储
  • Azure 文件共享
  • Azure Data Lake (Gen 2)

使用内置数据存储

每个工作区都有四个内置的数据存储(两个连接到 Azure 存储 blob 容器,两个连接到 Azure 存储文件共享),Azure 机器学习将它们用作系统存储。

在大多数机器学习项目中,需要使用自己的数据源。 例如,可以将机器学习解决方案与现有应用程序或数据工程管道中的数据集成。

创建数据存储

数据存储附加到工作区,用于将连接信息存储到存储服务。 创建数据存储时,需要提供可用于检索连接信息的名称。

数据存储使你能够轻松地连接到存储服务,而无需在每次要读取或写入数据时提供所有必要的详细信息。 如果你希望用户使用数据,但不直接连接到基础存储服务,数据存储还会创建保护层。

为 Azure Blob 存储容器创建数据存储

可以通过图形用户界面、Azure 命令行接口 (CLI) 或 Python 软件开发工具包 (SDK) 来创建数据存储。

根据要连接到的存储服务,Azure 机器学习可以使用不同的选项进行身份验证。

例如,如果要创建数据存储以连接到 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)