CLI (v2) 特征存储 YAML 架构
注意
本文档中详细介绍的 YAML 语法基于最新版本的 ML CLI v2 扩展的 JSON 架构。 此语法必定仅适用于最新版本的 ML CLI v2 扩展。 可以在 https://azuremlschemasprod.azureedge.net/ 上查找早期扩展版本的架构。
YAML 语法
密钥 | 类型 | 说明 | 允许的值 | 默认值 |
---|---|---|---|---|
$schema | 字符串 | YAML 架构。 如果使用 Azure 机器学习 VS Code 扩展来创作 YAML 文件,则可通过在文件顶部包含 $schema 来调用架构和资源完成操作。 | ||
name | 字符串 | 必需。 特征存储的名称。 | ||
compute_runtime | 对象 | 用于具体化作业的计算运行时配置。 | ||
compute_runtime.spark_runtime_version | 字符串 | Azure 机器学习 Spark 运行时版本。 | 3.4 | 3.4 |
offline_store | object | |||
offline_store.type | 字符串 | 如果提供了 offline_store,则为必需。 脱机存储的类型。 仅支持数据湖第 2 代类型的存储。 | azure_data_lake_gen2 | |
offline_store.target | 字符串 | 如果提供了 offline_store,则为必需。 数据湖第 2 代存储 URI,格式为 /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Storage/storageAccounts/<account>/blobServices/default/containers/<container> 。 |
||
online_store | object | |||
online_store.type | string | 如果提供了 online_store,则为必需。 在线商店的类型。 仅支持 Redis 缓存。 | redis | |
online_store.target | string | 如果提供了 online_store,则为必需。 Redis 缓存 URI 的格式为 /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Cache/Redis/<redis-name> 。 |
||
materialization_identity | 对象 | 用于具体化作业的用户分配的托管标识。 此标识需要被授予必要的角色才能访问特征存储服务、数据源和脱机存储。 | ||
materialization_identity.client_id | 字符串 | 用户分配的托管标识的客户端 ID。 | ||
materialization_identity.resource_id | 字符串 | 用户分配的托管标识的资源 ID。 | ||
materialization_identity.principal_id | 字符串 | 用户分配的托管标识的主体 ID。 | ||
description | 字符串 | 特征存储的说明。 | ||
tags | object | 特征存储的标记字典。 | ||
display_name | 字符串型 | 特征存储在 Studio UI 中的显示名称。 在资源组中可以不唯一。 | ||
location | 字符串 | 特征存储的位置。 | 资源组位置。 | |
resource_group | 字符串 | 包含特征存储的资源组。 如果资源组不存在,则将创建一个新的资源组。 |
可以包括其他工作区属性。
备注
az ml feature-store
命令可用于管理 Azure 机器学习特征存储工作区。
示例
示例 GitHub 存储库中提供了示例。 以下是一些常见示例:
YAML 基础
$schema: http://azureml/sdk-2-0/FeatureStore.json
name: mktg-feature-store
location: chinanorth3
带脱机存储配置的 YAML
$schema: http://azureml/sdk-2-0/FeatureStore.json
name: mktg-feature-store
compute_runtime:
spark_runtime_version: 3.2
offline_store:
type: azure_data_lake_gen2
target: /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<account_name>/blobServices/default/containers/<container_name>
materialization_identity:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
resource_id: /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai-name>
# Many of workspace parameters will also be supported:
location: chinanorth3
display_name: marketing feature store
tags:
foo: bar
使用 YAML 在 CLI 中配置在线商店
$schema: http://azureml/sdk-2-0/FeatureStore.json
name: mktg-feature-store
compute_runtime:
spark_runtime_version: 3.4
online_store:
type: redis
target: "/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Cache/Redis/<redis-name>"
materialization_identity:
client_id: 00001111-aaaa-2222-bbbb-3333cccc4444
principal_id: aaaaaaaa-bbbb-cccc-1111-222222222222
resource_id: /subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai-name>
# Many of workspace parameters will also be supported:
location: eastus
display_name: marketing feature store
tags:
foo: bar
使用 Python 在 CLI 中配置在线商店
redis_arm_id = f"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{redis_name}"
online_store = MaterializationStore(type="redis", target=redis_arm_id)
fs = FeatureStore(
name=featurestore_name,
location=location,
online_store=online_store,
)
# wait for feature store creation
fs_poller = ml_client.feature_stores.begin_create(fs)
# move the feature store to a YAML file
yaml_path = root_dir + "/featurestore/featurestore_with_online.yaml"
fs.dump(yaml_path)