Skip to main content

Azure 应用服务

🌐 Azure App Services

将你的 Mastra 应用部署到 Azure 应用服务。

🌐 Deploy your Mastra applications to Azure App Services.

note

本指南假设你的 Mastra 应用是使用默认的 npx create-mastra@latest 命令创建的。有关如何创建新的 Mastra 应用的更多信息,请参阅我们的入门指南

warning

Azure 应用服务在某些定价层使用临时文件系统。请从你的 Mastra 配置中移除任何使用带有文件 URL 的 LibSQLStore 的内容。请使用内存存储(:memory:)或外部存储提供商,如 Turso、PostgreSQL 或 Upstash。

先决条件
Direct link to 先决条件

🌐 Prerequisites

  • 一个具有活动订阅的 Azure 账户
  • 一个包含你 Mastra 应用的 GitHub 仓库
  • 你的 Mastra 应用应使用 npx create-mastra@latest 创建

部署步骤
Direct link to 部署步骤

🌐 Deployment Steps

  1. 创建新的应用服务:

    🌐 Create a new App service:

    • 登录 Azure 门户
    • 导航到 应用服务 或在顶部搜索栏中搜索它
    • 点击 创建 以创建新的应用服务
    • 在下拉菜单中,选择 Web 应用
  2. 配置应用服务设置:

    🌐 Configure app service settings:

    • 订阅:选择你的 Azure 订阅
    • 资源组:创建一个新的资源组或选择一个已有的资源组
    • 实例名称:为你的应用输入一个唯一名称(这将成为你 URL 的一部分)
    • 发布:选择 代码
    • 运行时堆栈:选择 Node 22 LTS
    • 操作系统:选择 Linux
    • 区域:选择靠近用户的区域
    • Linux 计划:你可以根据所选地区选择计划,根据你的需求选择合适的计划。
    • 点击 审核 + 创建
    • 等待验证完成,然后点击 创建
  3. 等待部署:

    🌐 Wait for deployment:

    • 等待部署完成
    • 完成后,点击下一步部分下的 前往资源
  4. 在设置部署之前,先配置你的环境变量:

    🌐 Before setting up deployment, configure your environment variables:

    • 在左侧边栏中导航到 设置 > 环境变量
    • 添加所需的环境变量,例如:
      • 模型提供商 API 密钥(例如,OPENAI_API_KEY
      • 数据库连接字符串
      • 你的 Mastra 应用需要的任何其他配置值
    • 点击 应用 保存更改
  5. 设置 GitHub 部署:

    🌐 Setup GitHub deployment:

    • 在左侧边栏中导航到 部署中心
    • 选择 GitHub 作为你的来源
    • 如果你尚未通过 Azure 进行身份验证,请登录 GitHub
    • 在这个例子中,我们将保留 GitHub Actions 作为我们的提供商
    • 选择你的组织、仓库和分支
    • Azure 将生成一个 GitHub 工作流文件,你可以在继续之前预览它
    • 点击 保存(保存按钮位于页面顶部)
  6. 在 Azure 创建工作流后,它会触发一次 GitHub Actions 运行,并将工作流文件合并到你的分支中。请取消此次初始运行,因为如果没有必要的修改,它将会失败。

    🌐 After Azure creates the workflow, it will trigger a GitHub Actions run and merge the workflow file into your branch. Cancel this initial run as it will fail without the necessary modifications.

    warning

    Azure生成的默认工作流对于Mastra应用将会失败,需要进行修改。

    将最新的更改拉取到本地仓库,并修改生成的工作流文件(.github/workflows/main_<your-app-name>.yml):

    1. 更新构建步骤:找到名为“npm 安装、构建和测试”的步骤,然后:

      • 将步骤名称更改为“npm install and build”
      • 如果你还没有在 Mastra 应用中设置适当的测试,请从运行部分移除 npm test 命令,因为默认的测试脚本会失败并干扰部署。如果你有可用的测试,可以保留测试命令。
    2. 更新压缩文件步骤:找到“用于部署的压缩文件”步骤,并将 zip 命令替换为:

      run: (cd .mastra/output && zip ../../release.zip -r .)

      这确保了只有来自 .mastra/output 的构建输出会被包含在部署包中。

  7. 部署你的更改:

    🌐 Deploy your changes:

    • 提交并推送你的工作流修改
    • 构建将在你 Azure 仪表板的 部署中心 中自动触发
    • 监控部署进度,直到成功完成
  8. 访问已部署的应用:

    🌐 Access your deployed application:

    • 构建成功后,稍等片刻以让应用启动
    • 使用 Azure 门户 概览 选项卡中提供的默认 URL 访问已部署的应用
    • 你的应用将可以在 https://<your-app-name>.azurewebsites.net 上使用

连接到你的Mastra服务器
Direct link to 连接到你的Mastra服务器

🌐 Connect to your Mastra server

现在,你可以使用 @mastra/client-js 包中的 MastraClient 从客户端应用连接到 Mastra 服务器。

🌐 You can now connect to your Mastra server from your client application using a MastraClient from the @mastra/client-js package.

有关更多信息,请参阅 MastraClient 文档

🌐 Refer to the MastraClient documentation for more information.

import { MastraClient } from "@mastra/client-js";

const mastraClient = new MastraClient({
baseUrl: "https://<your-app-name>.azurewebsites.net",
});

下一步
Direct link to 下一步

🌐 Next steps