Azure Cost Management Forecast API 请求体 Schema 完全指南:从字段解析到实战调用
【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载导读本文围绕 autoskills 仓库中 azure-cost 技能包azure-cost的 Forecast API 请求体 Schemarequest-body-schema.md展开系统讲解 Azure Cost Management Forecast API 的完整 JSON 请求结构、全部字段含义与取值范围、forecast 专属选项的行为约束以及响应结构如何区分实际成本与预测成本。读完本文你将能够独立构造一份可运行的 forecast 请求体通过az rest调用该 API 完成未来成本预测并理解它与历史成本 Query API 的关键差异与适用边界。一、Forecast API 与请求体总体结构Azure Cost Management Forecast API 用于在指定时间窗口内预测未来的云成本。在 autoskills 的 azure-cost 技能中其调用入口固定为POST {scope}/providers/Microsoft.CostManagement/forecast?api-version2023-11-01其中{scope}可以是订阅、资源组、管理组、账单账户或账单配置文件完整的 Scope 对照表见 SKILL.md。请求体整体分为三块顶层字段type/timeframe/timePeriod/includeActualCost/includeFreshPartialCost、dataset 数据集配置granularity/aggregation/sorting/filter以及 forecast 特有的布尔开关。下面先给出完整 JSON 示例再逐字段解析。二、完整 JSON Schema 示例以下是一份可直接参考的完整 forecast 请求体来自 request-body-schema.md{ type: ActualCost, timeframe: Custom, timePeriod: { from: 2024-01-01T00:00:00Z, to: 2024-03-31T00:00:00Z }, dataset: { granularity: Daily, aggregation: { totalCost: { name: Cost, function: Sum } }, sorting: [ { direction: Ascending, name: UsageDate } ], filter: { dimensions: { name: ResourceGroupName, operator: In, values: [my-resource-group] } } }, includeActualCost: true, includeFreshPartialCost: true }这份请求的语义是在2024-01-01至2024-03-31的窗口内以日粒度汇总Cost列的Sum按UsageDate升序排列仅保留资源组my-resource-group的成本记录同时返回历史实际成本与近期未结算的零散成本数据。三、字段参考表Field Reference下表完整列出请求体各字段的类型、是否必填、可选值与说明直接对应 request-body-schema.md 中的字段表字段类型必填可选值说明typestring✅ActualCost、AmortizedCost、Usage预测所使用的成本类型timeframestring✅Customforecast 请求必须为CustomtimePeriodobject✅—预测窗口的起止日期timePeriod.fromstring✅ISO 8601 datetime开始日期可设为过去时间以包含实际成本timePeriod.tostring✅ISO 8601 datetime结束日期必须晚于当前时间才能进行预测datasetobject✅—预测的数据集配置dataset.granularitystring✅Daily、Monthly预测结果的粒度dataset.aggregationobject✅—要应用的聚合函数dataset.aggregation.totalCost.namestring✅Cost要聚合的列名dataset.aggregation.totalCost.functionstring✅Sum聚合函数dataset.sortingarray可选—结果排序方式dataset.sorting[].directionstring可选Ascending、Descending排序方向dataset.sorting[].namestring可选UsageDate排序所依据的列dataset.filterobject可选—过滤表达式dimensions / tagsincludeActualCostboolean可选true、false是否在预测旁附带历史实际成本。默认trueincludeFreshPartialCostboolean可选true、false是否包含最近几天的部分成本数据。默认true要求includeActualCosttrue3.1 必填字段的细节说明typeActualCost是最常用的预测类型对应真实账单成本AmortizedCost用于预留实例 / 节省计划成本的预测Usage表示用量型成本数据可对照 cost-query/workflow.md 中的报告类型说明。timeframe与 Query API 支持多种预设时间窗不同forecast 请求必须显式指定Custom并通过timePeriod提供起止日期。from可以落在过去此时响应会先返回历史实际成本、再返回未来预测但to必须指向未来——如果from与to都在过去API 将返回CantForecastOnThePast错误。dataset必填。缺少dataset会触发校验错误DontContainsDataSet详见 error-handling.md 的校验错误参考表。dataset内至少需要granularity与aggregation。3.2 可选字段的细节说明dataset.sorting用于控制返回行的顺序。按日粒度时通常按UsageDate排序按月粒度时按BillingMonth排序参见 examples.md 中的月度示例。dataset.filter结构上与 Query API 一致支持dimensions如ResourceGroupName与tags两类过滤目标配合In、Equal、Contains等比较运算符使用。注意 forecast 的过滤常用于在订阅级范围上圈定某个资源组或标签从而预测局部成本。四、Forecast 专属字段详解includeActualCost与includeFreshPartialCost是 forecast 请求体区别于 Query API 的两个核心布尔开关也是理解响应语义的关键。4.1includeActualCost类型boolean默认值true当为true时响应会包含从from日期到当天为止的历史实际成本行CostStatus为Actual以及从当天到to日期的预测成本行CostStatus为Forecast二者在同一响应中拼接返回。当为false时响应仅返回预测projected行不含任何历史数据。4.2includeFreshPartialCost类型boolean默认值true当为true时响应会包含最近几天尚未完全结算的部分成本数据账单数据仍在陆续到达的窗口期。⚠️依赖约束该字段要求includeActualCosttrue。如果仅设置includeFreshPartialCosttrue而未设置includeActualCosttrue会触发校验错误DontContainIncludeActualCostWhileIncludeFreshPartialCost错误码详见 error-handling.md。安全做法是始终将两个字段同时显式声明。补充边界按 guardrails.md 的说明includeFreshPartialCost的账单数据晚到容差为 2 天而Monthly 粒度 includeActualCosttrue组合要求显式提供合法的timePeriod含有效的from/to省略时会触发DontContainsValidTimeRangeWhileMonthlyAndIncludeCost错误。五、响应结构解读5.1 响应列Response Columns列类型说明CostNumber成本金额实际或预测UsageDate/BillingMonthDatetime成本行对应的日期CostStatusString标识该行是历史数据还是预测数据CurrencyString货币代码如USD、EUR5.2CostStatus取值含义值含义Actual历史实际成本已产生Forecast预测的未来成本模型预测结果注意CostStatus是 forecast 响应特有的列Query API 的响应中没有该列详见下文对比表。它是区分已花掉的钱与将要花的钱的唯一依据。5.3 粒度与日期列映射粒度日期列DailyUsageDateMonthlyBillingMonth即日粒度预测返回UsageDate列月粒度预测返回BillingMonth列。在构造dataset.sorting时也应按此选择对应的排序列名日粒度用UsageDate月粒度用BillingMonth。六、与 Query API 请求体的关键差异理解 forecast 请求体之前先明确它和兄弟文档 cost-query/request-body-schema.md 的差异有助于避免把 Query API 的习惯误用到 forecast 上方面Forecast APIQuery APIGrouping分组❌ 不支持✅ 通过grouping字段支持最多 2 个维度timeframe通常仅Custom支持Custom、MonthToDate、BillingMonthToDate等多种预设includeActualCost✅ forecast 专属字段❌ 不适用includeFreshPartialCost✅ forecast 专属字段❌ 不适用响应CostStatus列✅ 区分Actual与Forecast行❌ 不存在to日期必须晚于当前时间可为任意合法的过去 / 当前日期两组差异中最值得警惕的是Grouping 硬限制forecast 请求体不接受grouping字段这是 Forecast API 的硬性限制见 guardrails.md 的分组限制章节。若用户需要按服务 / 资源组分组的预测应告知其改用 cost-query/workflow.md 获取带分组的历史成本数据。此外Query API 的aggregation.name还支持PreTaxCost、UsageQuantity等列而 forecast 请求体中以Cost列 Sum函数为典型用法。七、实战构造请求体并通过az rest执行将上面的 Schema 与 cost-forecast/workflow.md 的六步流程结合即可完成一次真实预测Step 1确定 Scope—— 按 SKILL.md 中的 Scope 表选取订阅或资源组路径。Step 2选择报告类型—— 预测通常选ActualCost涉及预留实例 / 节省计划时选AmortizedCost。Step 3设置时间窗口——timeframe固定为Customfrom可设为过去如月初以纳入实际成本to必须是未来日期。注意约束最少需要28 天历史成本数据作为训练样本最大预测窗口为10 年详见 guardrails.md。Step 4配置 dataset—— 推荐Daily或Monthly粒度聚合用SumCost不要加入grouping。Step 5设置 forecast 专属选项—— 按默认值显式声明includeActualCost: true与includeFreshPartialCost: true。Step 6构造并执行—— 创建temp/cost-forecast.json{ type: ActualCost, timeframe: Custom, timePeriod: { from: first-of-month, to: last-of-month }, dataset: { granularity: Daily, aggregation: { totalCost: { name: Cost, function: Sum } }, sorting: [{ direction: Ascending, name: UsageDate }] }, includeActualCost: true, includeFreshPartialCost: true }执行命令PowerShellNew-Item -ItemType Directory -Path temp -Force az rest --method post --url /subscriptions/subscription-id/providers/Microsoft.CostManagement/forecast?api-version2023-11-01 --headers ClientTypeGitHubCopilotForAzure --body temp/cost-forecast.json依据 SKILL.md 的最佳实践所有 Cost Management API 请求都应携带ClientType: GitHubCopilotForAzure请求头az rest中为--headers ClientTypeGitHubCopilotForAzure并且优先使用 REST API 而非az costmanagement子命令。八、常用场景模板可直接套用以下模板来自 cost-forecast/examples.md展示了不同粒度与 Scope 下的请求体写法。8.1 预测本月剩余天数的成本日粒度{ type: ActualCost, timeframe: Custom, timePeriod: { from: first-of-month, to: last-of-month }, dataset: { granularity: Daily, aggregation: { totalCost: { name: Cost, function: Sum } }, sorting: [ { direction: Ascending, name: UsageDate } ] }, includeActualCost: true, includeFreshPartialCost: true }提示from设为月初响应会返回截至今天的Actual行和剩余天数的Forecast行。8.2 预测未来 3 个月月粒度{ type: ActualCost, timeframe: Custom, timePeriod: { from: first-of-month, to: 3-months-out }, dataset: { granularity: Monthly, aggregation: { totalCost: { name: Cost, function: Sum } }, sorting: [ { direction: Ascending, name: BillingMonth } ] }, includeActualCost: true, includeFreshPartialCost: true }提示月粒度响应的日期列是BillingMonth排序字段也需对应修改。8.3 资源组 / 账单账户级预测资源组与账单账户的差异体现在URL 的 Scope 路径而非请求体本身ScopeURL 路径模式订阅/subscriptions/subscription-id/providers/Microsoft.CostManagement/forecast资源组/subscriptions/subscription-id/resourceGroups/rg-name/providers/Microsoft.CostManagement/forecast账单账户/providers/Microsoft.Billing/billingAccounts/id/providers/Microsoft.CostManagement/forecast构造完整请求 URL 时需追加?api-version2023-11-01。账单账户级预测推荐使用月粒度原因见下节的行数上限。九、请求体相关 Guardrails 与错误处理速查9.1 时间与数据约束规则约束to日期必须晚于当前时间numberOfDaysToForecast必须 0from日期可早于当前时间用于纳入实际成本最小训练数据28 天4 周历史成本数据新订阅不足 28 天将无法预测最大预测窗口10 年响应行数上限每响应最多 40 行日粒度 30 天实际 30 天预测会超限建议日粒度只预测 2–3 周更长周期改用月粒度includeFreshPartialCost依赖includeActualCosttrueMonthly includeActualCost要求显式timePeriod其中响应行数上限 40 行是 forecast 特有的约束guardrails.md它直接决定了日粒度预测的时间窗口不宜超过约 2–3 周超过时要么拆分多个小时间窗请求要么切换为月粒度。9.2 常见错误与校验错误码状态码错误场景修复方式400CantForecastOnThePast起止日期都在过去确保to在未来400DontContainsDataSet缺少dataset补齐granularity与aggregation400DontContainIncludeActualCostWhileIncludeFreshPartialCost字段依赖非法设置includeActualCosttrue或将includeFreshPartialCost置为false403权限不足在目标 Scope 上授予Cost Management Reader角色424训练数据不足预测模型无法计算若includeActualCosttrue则回退返回实际成本否则改用 cost-query/workflow.md429触发限流读取所有x-ms-ratelimit-microsoft.costmanagement-*-retry-after响应头qpu、entity、tenant等待最长的重试时长最多重试 3 次完整的错误码参考表含EmptyForecastRequestBody、InvalidForecastRequestBody、DontContainsValidTimeRangeWhileContainsPeriod等见 error-handling.md。9.3 一个容易误判的场景当 API 返回 Forecast is unavailable for the specified time period 时这不是错误而是一个合法的响应表示当前 Scope 的历史数据不足少于 28 天或从未产生过成本预测模型无法生成结果。此时不应重试而应建议用户改用 cost-query/workflow.md 获取已有的历史数据见 guardrails.md 的 Forecast Availability 章节。十、小结构造 Azure Cost Management Forecast API 请求体的核心要点可以归纳为四条窗口必须指向未来timeframe固定Customto日期必须晚于当前时间否则触发CantForecastOnThePast。dataset 只做聚合、不做分组granularityaggregationSum的Cost是必填核心sorting与filter可选但不能使用grouping。两个布尔开关成对使用includeActualCost与includeFreshPartialCost默认均为true后者强依赖前者务必同时显式声明避免校验错误。用CostStatus解读响应Actual行表示历史实际成本Forecast行表示模型预测配合UsageDate/BillingMonth的粒度映射即可还原完整的成本趋势。如果你需要更完整的调用流程、更多示例模板或更细的限流 / 错误处理策略可直接继续阅读同技能包下的 workflow.md、examples.md、guardrails.md 与 error-handling.md。赞分享【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载相关推荐autoskills 实战Azure Cost Management Forecast API 预测请求示例与 Scope URL 完整指南autoskills 实战Azure Cost Management Forecast API 预测请求示例与 Scope URL 完整指南 导读 本篇文章基Azure Cost Management Forecast API Guardrails 实战指南时间周期校验、训练数据要求与限流处理Azure Cost Management Forecast API Guardrails 实战指南时间周期校验、训练数据要求与限流处理 本文以 packagAzure Cost Management Forecast API 错误处理完全指南状态码、校验错误与重试策略Azure Cost Management Forecast API 错误处理完全指南状态码、校验错误与重试策略 本篇技术指南聚焦 autoskills 仓库上一篇Fluence Rewards项目时空泡沫数据库微观宇宙中的数据存储下一篇3步搞定Ghost会员变现Stripe支付全流程从0到1实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

openrig 配置管理:统一 Claude Code 与 Codex 的 YAML 方案

openrig 配置管理:统一 Claude Code 与 Codex 的 YAML 方案

1. 从 openrig 说起:一个被名字耽误的配置管理思路第一次看到 openrig 这个词,很多人会以为是某个硬件外设品牌,或者某个开源机械臂项目。但如果你最近在折腾 Claude Code、Codex 这类命令行 AI 编程工具,又恰好被各种 YAML 配置、…

2026/10/9 4:46:02 阅读更多 →
不定长滑动窗口详解:模板、经典题与常见坑

不定长滑动窗口详解:模板、经典题与常见坑

做算法题的人,第一次接触“滑动窗口”这四个字,多半是在“长度最小的子数组”那道题上。“窗口”这个词很形象:数组就像一条长街,窗口就是你的视线范围。固定窗口是视线宽度恒定,无论前面出现什么,你都只能…

2026/10/9 4:46:02 阅读更多 →
跨区比价工具开发实战:从PSN商店抓取到史低判定的全流程解析

跨区比价工具开发实战:从PSN商店抓取到史低判定的全流程解析

你打开PS商店,切换到港服看到一个价格,切到美服又看到一个价格,再切到日服发现还要再用计算器算一遍汇率。那年我为了等某个3A大作打折,连着两周每天晚上重复这套动作,最后实在烦不过,干脆给自己写了套小工…

2026/10/9 4:46:02 阅读更多 →

最新新闻

Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

Vulkan固定功能阶段详解:从顶点输入到颜色混合的管线配置

很多朋友学到 Vulkan 管线的可编程阶段,写完了顶点着色器和片元着色器,就以为万事大吉。结果在创建VkGraphicsPipelineCreateInfo的时候,突然冒出一大堆结构体要填:顶点输入、输入装配、光栅化、深度模板、颜色混合。这就是 Vulka…

2026/10/9 5:12:22 阅读更多 →
并网逆变器VSG预同步控制Matlab仿真模型搭建与调试

并网逆变器VSG预同步控制Matlab仿真模型搭建与调试

做过微电网和分布式电源并网仿真的朋友,十有八九都遇到过这个画面:预同步没做好的模型一合闸,直流母线电压瞬间被拉垮,电流波形上冲出一个尖峰,直接把过流保护和示波器刻度一起顶飞。这个标题很直白——VSG预同步控制M…

2026/10/9 5:12:22 阅读更多 →
PS消失点滤镜:透视贴图与空间绘图完全指南

PS消失点滤镜:透视贴图与空间绘图完全指南

1. 从“贴图透视总画歪”说起:消失点滤镜到底在解决什么问题做设计或者修图的朋友,大概都遇到过这种场景:手里有一张带透视的实景照片,比如一面斜着拍的砖墙、一张有纵深感的桌面、一个带角度的包装盒,你想在上面贴个l…

2026/10/9 5:12:22 阅读更多 →
CAXA电子图板2026功能区全解析:从布局到自定义实战

CAXA电子图板2026功能区全解析:从布局到自定义实战

说实话,我第一次接触CAXA电子图板2026的时候,第一反应是盯着顶部那条又宽又密的“功能区”发了好一会儿呆。作为从老版本菜单栏一路用过来的设计人员,看到所有图标被重新分门别类地塞进好几个选项卡,心里多少有点别扭。但用了一个…

2026/10/9 5:12:22 阅读更多 →
城市生命线物联网年度实践:从硬件选型到平台闭环的工程复盘

城市生命线物联网年度实践:从硬件选型到平台闭环的工程复盘

2025年,我在恒星物联主要做的事情,就是围着“城市生命线”转:地下管网的压力传感器、燃气井里的可燃气体探测器、桥梁上的位移监测节点、智慧城市运营中心里的那块大屏。年终写下这篇回顾,既是替团队做个交代,也是给还…

2026/10/9 5:12:21 阅读更多 →
SpringBoot瑜伽馆管理系统毕设:设计实现与答辩要点全解析

SpringBoot瑜伽馆管理系统毕设:设计实现与答辩要点全解析

每年到了毕设季,总有一大批人被“选什么题目”卡住。Java方向的项目来来去去就是管理系统、商城、博客这三板斧,但真正能把一个管理系统讲到明白、做出亮点的人其实不多。这次我完整走了一遍SpringBoot瑜伽馆管理系统的设计与实现,从选题、建…

2026/10/9 5:11:21 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →