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

如何核算Azure函数的总成本(含关联存储账户相关操作费用)

核算Azure函数总成本的方法

一、Azure函数本身的成本核算

Azure函数的成本取决于所选托管计划,核心计费维度如下:

  • 消耗计划:按执行次数(每百万次的单价)和*执行时间(GB秒)*计费,每月有免费额度(100万次执行+40000 GB秒)。
  • 专用(App Service)计划:按VM实例的大小、数量和运行时长计费,和普通App Service的计费逻辑一致,适合长期运行的函数。
  • 弹性Premium计划:结合消耗计划的弹性和专用计划的性能,按实例运行时长和执行时间计费,有预留实例折扣可选。

可直接在Azure门户的「成本管理 + 计费」中,筛选对应函数资源查看其独立产生的费用。

二、关联存储账户的成本核算

Azure函数必须依赖存储账户,用于存储函数代码、触发器队列/Blob、运行日志等,费用包含三类:

  1. 存储容量费用:按Blob、文件、队列、表等实际占用的存储量(GB/月)计费,LRS、GRS等冗余类型单价不同。
  2. 事务费用:每一次存储操作(比如列表容器、创建容器、读写Blob/队列消息)都按类型(读/写/列表)计费,LRS的事务单价低于其他冗余类型。
  3. 数据传输费用:存储账户与外部网络(或跨Azure区域)的数据传输会产生费用,同区域内的函数与存储交互通常免费。

多函数共用存储账户的分摊策略

当多个函数共用同一个存储账户时,需按各函数的实际使用量拆分存储费用:

  • 事务费用分摊:
    1. 启用存储账户的日志记录(在存储账户的「诊断设置」中开启),将日志发送到Azure Monitor。
    2. 用Kusto查询筛选各函数对应的事务:比如根据日志中的OperationName(如CreateContainer、ListContainers)和RequestId关联的函数上下文,统计每个函数触发的事务数量。
    3. 用统计到的事务量乘以对应操作的单价,得到该函数应承担的事务费用。
  • 存储容量费用分摊:
    1. 查看存储账户中各容器、队列的占用容量:比如函数代码包通常存放在$web容器,每个函数的触发器数据可能在专属容器/队列中。
    2. 按各函数占用的存储容量比例,分摊总的存储容量费用。对于函数自动创建的通用容器(如azure-webjobs-hosts、azure-webjobs-secrets),可按函数数量平均分摊,或按各函数的执行次数比例分摊。
  • 数据传输费用分摊:如果存储账户的跨区域/外网流量由特定函数触发,直接归到对应函数;若无法区分,按函数的执行量或存储使用比例分摊。

三、总成本汇总

将以下两部分费用相加,即为单个Azure函数的总成本:

  1. 该函数在托管计划下产生的独立费用(从成本管理中直接获取)。
  2. 从共用存储账户中分摊到该函数的存储容量、事务及数据传输费用。

实用工具建议

  • 给每个函数和对应的存储资源添加成本分配标签(如FunctionName:XXX),在成本管理中可快速筛选和分组费用。
  • 使用Azure Monitor的「成本分析」工具,按资源类型、标签拆分存储账户的费用,简化分摊计算。
  • 利用存储账户的「使用情况和指标」面板,查看实时的容量、事务统计数据,辅助费用核算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:05:30