你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

连接到自己的存储

注释

本文档引用 Microsoft Foundry (经典) 门户。

🔄 如果你使用的是新门户,请切换到 Microsoft Foundry(新)文档

注释

本文档指的是 Microsoft Foundry(新) 门户网站。

重要

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

Microsoft Foundry 将代理、Azure OpenAI、语音和语言服务汇集在一个统一的资源类型下。 使用自带存储(BYOS)可将这些功能生成的数据路由到你拥有和管理的 Azure 存储帐户。 配置模式与早期独立语音和语言资源类型保持一致(并提供向后兼容性)。

本文介绍如何使用两种总体方法将存储连接到 Foundry:

  • 连接:建议用于大多数功能的基线。 连接提供共享数据指针。
  • 功能主机:选择性地替代某一特定功能(例如,智能体标准设置)或显式将其绑定到几个连接中的一个连接。
  • userOwnedStorage 字段:仅由语音和语言使用的资源级绑定。

先决条件

在连接存储之前,请确保具备:

拥有有效订阅的 Azure 帐户。 如果没有帐户,请创建一个 免费的 Azure 帐户,其中包括免费试用订阅

  1. 同一订阅中的 Azure 存储帐户(支持 Blob 存储服务)。
  2. 对 Foundry 资源和存储帐户拥有参与者或所有者权限。
  3. 明确计划使用的功能(代理、评估、数据集、内容理解、语音、语言)。
  4. (可选)对存储帐户进行客户管理的密钥(CMK)加密的计划。

小窍门

有关安全、网络和加密选项的指导,请参阅 Azure 存储文档

了解存储连接方法

方法 介绍 支持的功能 Scope 何时使用
Foundry连接(共享数据指针) 子资源保存终结点 + 身份验证;授予项目用户间接访问权限 代理、评估、数据集、内容理解 资源或项目级别 大多数方案的默认模式
功能主机(功能替代绑定) 显式按功能绑定,选择功能使用的连接 代理(标准设置) 资源和项目级别 当存在多个连接并且必须强制智能体使用一个连接时
userOwnedStorage 字段(资源存储绑定) 资源属性,为语音和语言分配一个存储帐户(共享) 语音、语言 仅限资源级别 在创建时为语音和语言启用客户管理的存储

铸造厂连接

Foundry 连接充当跨 Foundry 功能的共享数据指针(代理、评估、数据集、内容理解)。 每个连接都会包装目标存储终结点和身份验证,以便具有项目访问权限的用户可以在没有直接存储帐户权限的情况下使用数据。 使用连接作为默认模式;仅当需要将单个功能显式绑定(覆盖)到多个连接中的一个时,才创建一个功能主机。

功能主机

当存在多个存储连接时,功能主机会将特定功能绑定到指定的连接。 它们定义特定功能使用的存储连接。 最常将功能主机用于代理标准设置。 如果未为代理创建功能主机,Foundry 会为该功能使用Microsoft托管存储。

有关概念详细信息,请参阅 功能主机

userOwnedStorage (资源存储绑定)

userOwnedStorage字段允许客户管理语音和语言功能的存储。 在资源级别创建资源期间设置此字段,因此资源中的所有项目共享同一存储帐户。

语音和语言功能共享存储帐户,但在其中使用不同的容器。 该设置在资源级别应用,创建后无法更改,而无需重新创建资源。

如果语音和语言方案之间需要严格的数据隔离,请使用不同的存储帐户创建单独的 Foundry 资源。

重要

如果删除或更改绑定userOwnedStorage的存储帐户(包括改变其资源 ID),语音和语言功能将停止运行。 请考虑先尝试帐户恢复: 恢复存储帐户。 否则必须重新创建 Foundry 资源。

创建存储连接

  1. 登录到 Microsoft Foundry。 确保 New Foundry 开关处于关闭状态。 这些步骤适用于 Foundry(经典)
    登录到 Microsoft Foundry。 确保“新建 Foundry”开关处于打开状态。 这些步骤适用于 Foundry(新)
  2. 选择项目。
  3. 在左窗格中,选择 “连接 ”(或 “已连接资源”)。
  4. 选择“+ 新建连接”
  5. 选择“Azure Blob 存储”
  6. 提供:
    • Name
    • Subscription
    • 存储帐户
    • 身份验证方法(建议使用系统分配的托管标识)
  7. 选择 创建

连接现在可用于代理(如果未被替代)、评估、数据集、内容理解、语音和语言。

  1. 登录到 Microsoft Foundry。 确保 New Foundry 开关处于关闭状态。 这些步骤适用于 Foundry(经典)
    登录到 Microsoft Foundry。 确保“新建 Foundry”开关处于打开状态。 这些步骤适用于 Foundry(新)
  2. 在右上角,选择“ 生成”。
  3. 在左窗格中,选择 “工具 ”,然后在窗格右上角 连接工具
  4. “选择工具 ”对话框中,选择“ 目录 ”选项卡并查找 Azure Blob 存储
  5. 选择 创建

注释

Azure 门户 (portal.azure.com) 中的步骤与版本无关,因此特意未包含在链接路径块中。

为代理配置功能主机(合并的资源 + 项目步骤)

创建两个功能主机(一个位于资源级别,一个位于项目级别),每个主机引用相同的连接链,以便代理路由到存储。

  1. 创建资源级连接(如上所示),如果尚不存在。

    注释

    如上一部分所述,选择“ 目录 ”选项卡并查找 Azure Blob 存储

  2. 创建一个引用该连接的资源级功能主机。
  3. 在资源下创建一个项目或者打开一个项目。
  4. 创建一个引用资源级功能主机的项目级功能主机。
  5. 验证代理数据现在写入绑定的存储帐户。

示例 (Azure CLI) (说明)

# Placeholder example; adjust for actual CLI verbs when published
az ai-foundry capability-host create \
  --resource-name MyFoundryResource \
  --name agents-host \
  --feature agents \
  --connection-id /subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.CognitiveServices/accounts/MyFoundryResource/connections/myblobconnection

示例 (PowerShell) (说明)

New-AIFCapabilityHost -ResourceName MyFoundryResource -Name agents-host -Feature agents -ConnectionId "/subscriptions/<sub>/resourceGroups/<rg>/.../connections/myblobconnection"

ARM 模板代码片段 (说明)

{
  "type": "Microsoft.CognitiveServices/accounts/capabilityHosts",
  "apiVersion": "2025-05-01-preview",
  "name": "[concat(parameters('foundryName'), '/agents-host')]",
  "properties": {
    "feature": "agents",
    "connectionId": "[resourceId('Microsoft.CognitiveServices/accounts/connections', parameters('foundryName'), 'myblobconnection')]"
  }
}

为代理配置功能主机

设置功能主机,以将存储连接用于代理标准设置。 需要在资源和项目级别配置功能主机。

创建资源级功能主机

  1. 使用 Azure CLIAzure REST API 示例创建资源级功能主机。

  2. 在功能主机配置中引用以前创建的存储连接。

  3. 设置功能类型以支持代理。

创建项目级功能主机

创建 Foundry 项目后:

  1. 创建一个引用资源级功能主机的项目级功能主机。

  2. 配置功能主机以启用代理功能。

  3. 验证功能主机是否已正确链接到存储连接,如这个标准代理设置的代码示例中所示。

您的代理的标准设置现在使用您自己的存储帐户,而不是微软托管的存储。

为语音和语言设置 userOwnedStorage

通过 Bicep、ARM、Terraform、CLI 或 PowerShell 在资源创建过程中设置字段。

Bicep 示例

resource foundry 'Microsoft.CognitiveServices/accounts@2025-05-01-preview' = {
  name: myFoundryName
  location: location
  kind: 'AIServices'
  sku: { name: 'S0' }
  properties: {
    userOwnedStorage: {
      storageResourceId: storageAccount.id
    }
  }
}

Terraform 代码片段

请参阅 Terraform cognitive_account

resource "azurerm_cognitive_account" "foundry" {
  name                = var.foundry_name
  location            = var.location
  resource_group_name = azurerm_resource_group.rg.name
  kind                = "AIServices"
  sku_name            = "S0"

  storage { # userOwnedStorage equivalent
    resource_id = azurerm_storage_account.speechlang.id
  }
}

角色分配

在 Azure 存储帐户上为 Foundry 资源(帐户)托管标识(而不是项目托管标识)创建角色分配。 分配 Storage Blob Data Contributor

配置内容理解

  1. 登录到 Microsoft Foundry。 确保 New Foundry 开关处于关闭状态。 这些步骤适用于 Foundry(经典)
    登录到 Microsoft Foundry。 确保“新建 Foundry”开关处于打开状态。 这些步骤适用于 Foundry(新)
  2. 打开资源。
  3. 在左窗格中,选择“ 内容理解”。
  4. 选择现有的存储连接。

注释

正在评估内容理解的编程配置选项。

客户管理的端到端存储检查清单

  1. 如果需要语音/语言,请使用 userOwnedStorage 创建资源。
  2. 创建存储连接。
  3. 创建资源级功能主机(代理在需要时替代)。
  4. 创建项目级功能主机(代理在项目中替代)。
  5. 将内容理解绑定到存储连接。

执行这些步骤后,所有功能(代理、评估、数据集、内容理解、语音、语言)路由到客户管理的存储。