共用方式為


CLI (v2) 功能存放區 YAML 架構

適用於:Azure CLI ml 延伸模組 v2 (目前)

注意

本文件中詳述的 YAML 語法是以最新版 ML CLI v2 延伸模組的 JSON 結構描述為基礎。 此語法僅保證能與最新版的 ML CLI v2 延伸模組搭配運作。 您可以在 https://azuremlschemasprod.azureedge.net/ 找到舊版延伸模組的結構描述。

YAML 語法

機碼 類型 描述 允許的值 預設值
$schema 字串 YAML 結構描述。 如果您使用 Azure 機器學習 VS Code 擴充功能來撰寫 YAML 檔案,包括檔案頂端的$schema,可讓您叫用架構和資源完成。
NAME 字串 必要。 功能存放區的名稱。
compute_runtime object 用於具體化作業的計算運行時間組態。
compute_runtime.spark_runtime_version 字串 Azure 機器學習 Spark 運行時間版本。 3.4 3.4
offline_store object
offline_store.type 字串 如果提供offline_store,則為必要 項。 離線存放區的類型。 僅支援 Data Lake Gen2 類型的記憶體。 azure_data_lake_gen2
offline_store.target 字串 如果提供offline_store,則為必要 項。 datalake Gen2 記憶體 URI 的格式 /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Storage/storageAccounts/<account>/blobServices/default/containers/<container>為 。
online_store object
online_store.type 字串 如果提供online_store,則為必要 項。 在線商店的類型。 僅支援 redis 快取。 redis
online_store.target 字串 如果提供online_store,則為必要 項。 格式為 /subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Cache/Redis/<redis-name>的 Redis 快取 URI。
materialization_identity object 用於具體化作業的使用者指派受控識別。 此身分識別必須獲授與必要的角色,才能存取功能存放區服務、數據源和離線記憶體。
materialization_identity.client_id 字串 使用者指派受控識別的用戶端標識碼。
materialization_identity.resource_id 字串 使用者指派受控識別的資源標識碼。
materialization_identity.principal_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: eastus

具有離線存放區設定的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: eastus
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)

下一步