You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure静态Web应用部署触发函数内容大小限制的原因及解决方法

问题原因与解决方案

核心原因

你遇到的是Azure静态Web应用的API(Azure Functions)部分单独大小限制,而非Standard计划的整体500MB上限。Standard计划下,静态Web应用的API包单独限制为100MB(即错误提示的104857600字节),你的API打包后的大小超过了这个阈值,导致部署失败。

解决步骤

1. 清理API目录冗余文件

在Azure Functions项目根目录创建.funcignore文件,排除不必要的文件,避免被打包进API产物:

# 排除所有node_modules,但保留Azure相关依赖
node_modules/**
!node_modules/@azure/**
!node_modules/@microsoft/**
!node_modules/azure-functions-core-tools/**

# 排除本地配置与测试文件
local.settings.json
test/**
.gitignore
.git/**
*.log
.vscode/**

同时,安装依赖时仅安装生产环境包:

npm ci --only=production

2. 优化GitHub Action部署配置

在部署步骤中指定API的生产环境构建命令,确保仅打包必要文件:

- name: Deploy to Azure Static Web Apps
  uses: Azure/static-web-apps-deploy@v1
  with:
    azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
    repo_token: ${{ secrets.GITHUB_TOKEN }}
    action: "upload"
    app_location: "/" # 你的前端应用根目录
    api_location: "api" # Azure Functions所在目录
    output_location: "dist" # 前端构建输出目录
    api_build_command: "npm ci --only=production && npm run build"

3. 排查API包大小

在GitHub Action中添加步骤,查看API目录的实际大小,定位占用空间的文件:

- name: Check API directory size
  run: |
    cd api
    du -sh node_modules dist # 查看依赖与构建产物大小
    find . -type f -size +10M | sort -nr # 找出大于10MB的文件

4. 拆分大型依赖

如果API依赖中有超大文件(比如SDK、数据集),可以:

  • 将静态资源或大型数据集迁移到Azure Blob存储,API运行时动态读取
  • 使用Azure Functions的部署包增量更新功能,减少每次上传的大小

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 18:25:14