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

将 C# Azure AI 搜索 应用部署到 Azure 容器应用

注释

Azure AI 搜索可通过Azure门户REST APIAzure SDK获取。 它还支撑着 Foundry IQ——这一托管知识层可将企业内容转化为可复用、具有权限感知能力的知识库,供 Microsoft Foundry 门户中的代理使用。

使用Azure开发人员 CLI (azd) 将启用搜索的网站部署到Azure 容器应用。 此部署包括 React 客户端、.NET API、Azure AI 搜索、托管标识和支持Azure资源。

部署使用托管标识作为Azure AI 搜索的默认身份验证方法。 可以选择在部署之前设置为USE_KEYLESS_AUTHfalse基于密钥的身份验证。

登录到 Azure

  1. 在Visual Studio Code中,在存储库根目录中打开终端,例如azure-search-static-web-app

  2. 使用 azd 登录到Azure。

    azd auth login
    
  3. 如果浏览器提示,请使用用于本教程的 Azure 帐户完成登录流。

创建 azd 环境

  • 创建 azd 环境。 替换为 YOUR-ENVIRONMENT-NAME 标识本教程部署的短名称。

    azd env new YOUR-ENVIRONMENT-NAME
    

(可选)配置基于密钥的身份验证

默认身份验证方法是托管标识,因此大多数环境都可以跳过本部分。 仅当环境需要 API 密钥时,才完成本部分。

USE_KEYLESS_AUTH 设置为 false

azd env set USE_KEYLESS_AUTH false

如果未设置 USE_KEYLESS_AUTH,部署将使用托管标识。 Bicep基础结构授予容器应用标识对Azure AI 搜索数据平面的访问权限。

使用 azd up 进行部署

  1. 从存储库根路径,运行 azd up

    azd up
    
  2. 出现提示时,选择资源的Azure订阅和位置。

  3. 等待azd预配基础结构、生成容器、推送映像并将服务部署到Azure 容器应用。

  4. 在部署后查看输出。 输出包括用于Azure 容器应用部署的客户端和服务器完全限定的域名(FQDN)。

    AZURE_CLIENT_URL: <client-container-app-fqdn>
    AZURE_SERVER_URL: <server-container-app-fqdn>
    SEARCH_SERVICE_NAME: <search-service-name>
    

    AZURE_CLIENT_URL使用该值打开网站。 客户端应用通过部署期间配置的终结点调用服务器应用。

    该部署还创建了Azure AI 搜索服务,并通过示例存储库中的挂钩自动postprovision加载good-books索引。

在容器应用网站中使用搜索

  1. 从浏览器中的 azd up 输出中打开客户端 FQDN。

  2. 在网站搜索栏中,输入搜索查询,例如 code。 自动完成功能建议匹配的书名。

  3. 选择一个建议,或继续输入自己的查询。 完成搜索查询后,选择 Enter

  4. 查看结果,然后选择一本书以查看更多详细信息。

Troubleshooting

如果 Web 应用无法部署或工作,请使用以下列表来确定并修复问题:

  • 已完成了 azd up 吗?

    azd up查看第一个失败的预配、生成或部署步骤的输出。 如果在预配期间部署停止,请检查订阅权限和所选区域。 如果在容器生成或部署步骤期间部署停止,请在修复报告的问题后重新运行 azd up

  • 是否可以打开客户端终结点?

    从输出中AZURE_CLIENT_URLazd up打开值。 如果页面未加载,请转到Azure门户,打开客户端容器应用并查看其修订状态和日志。

  • 客户端是否可以调用服务器终结点?

    打开浏览器开发人员工具并查看来自客户端应用的网络调用。 如果对 API 的调用失败,请确认服务器容器应用正在运行,并且客户端应用在部署期间收到了服务器 FQDN。

  • 服务器是否可以Azure AI 搜索查询?

    如果搜索返回错误,请查看服务器容器应用日志。 对于托管标识,请确认该标识Azure AI 搜索数据平面访问。 对于基于密钥的身份验证,请确认在部署之前已设置为该USE_KEYLESS_AUTHfalse设置,并且生成的容器环境包含搜索服务配置。

清理资源

用于azd down --purge删除本教程创建的Azure资源。 该 --purge 标志永久删除支持软删除的资源,而不是将其保留期保留为可恢复状态。 如果稍后重新部署本教程,清除将避免命名冲突。

  1. 从存储库根目录运行清理命令。

    azd down --purge
    
  2. 查看列出的资源 azd

  3. 出现提示时,确认删除。

如果在部署外部azd创建了Azure AI 搜索服务,请转到Azure门户中的搜索服务,然后选择页面顶部的“删除”。

后续步骤