本文档提供有关如何将成本管理实际数据集和摊销数据集转换为 FinOps 开放成本与使用规范 (FOCUS) 的指导。 若要详细了解 FOCUS,请参阅 FOCUS 概述。
如何将成本管理数据转换为 FOCUS
若要将成本和使用情况数据转换为 FOCUS,需要实际成本数据集和摊销成本数据集:
- 保留摊销成本数据中的所有行。
- 筛选实际成本数据,仅包含满足 ChargeType == "Purchase" 或 "Refund" 且 PricingModel == "Reservation" 或 "SavingsPlan" 的行。
将以下逻辑应用于所有行:
FOCUS 列 | 成本管理列 | 转换 |
---|---|---|
已计费成本 | 账单货币成本 | 如果 ChargeType == "Usage" 且 PricingModel == "Reservation" 或 "SavingsPlan",则 0 ;否则,使用 CostInBillingCurrency |
计费账户ID | • 企业协议:BillingAccountId • Microsoft 客户协议:BillingProfileId |
无 |
账单账户名称 | • 企业协议:账单账户名称 • Microsoft 客户协议:BillingProfileName |
无 |
结算货币 | • 企业协议:BillingCurrencyCode • Microsoft客户协议:BillingCurrency |
无 |
计费周期结束 | 账单周期结束日期 | 为独占结束日期添加一天 |
计费周期开始 | 账单周期开始日期 | 无 |
收费类别 | 计费类型 | 如果是 Usage 、Purchase 、Credit 或 Tax ,则为相同值;如果是 UnusedReservation 或 UnusedSavingsPlan ,则为 Usage ;如果是 Refund ,则为 Purchase ;其余情况为 Adjustment |
费用类别 | 计费类型 | 如果是 Refund ,则使用 Correction |
费用描述 | ProductName | 无 |
充电频率 | 频率 | 如果是 OneTime ,则为 One-Time ;如果是 Recurring ,则为 Recurring ;如果是 UsageBased ,则为 Usage-Based ;其余情况为 Other |
计费期结束 | 日期 | 为独占结束日期添加一天 |
充电周期开始 | 日期 | 无 |
承诺折扣类别 | 福利编号 | 如果 BenefitId 包含 /microsoft.capacity/ (不区分大小写),则为 Usage ;如果它包含 /microsoft.billingbenefits/ ,则使用 Spend ;其余情况为 null |
承诺折扣编号 | 福利编号 | 无 |
承诺折扣名称 | 福利名称 | 无 |
承诺折扣状态 | 计费类型 | 如果是 UnusedReservation 或 UnusedSavingsPlan ,则为 Unused ;否则,如果 PricingModel == Reservation 或 SavingsPlan ,则为 Used ;其余情况为 null |
承诺折扣类型 | 福利编号 | 如果 BenefitId 包含 /microsoft.capacity/ (不区分大小写),则为 Reservation ;如果它包含 /microsoft.billingbenefits/ ,则为 Savings Plan ;其余情况为 null |
消耗量 | 数量 | 如果 ChargeType == Usage ,则为“数量”;其余情况为 null |
ConsumedUnit | 计量单位 | 如果 ChargeType == Usage ,则使用定价单位数据文件进行映射;其余情况为 null |
合同成本 | UnitPrice * Quantity / focus:x_PricingBlockSize | 请注意,x_PricingBlockSize需要映射。 有关详细信息,请参阅列说明。 |
合同单价 | 单价 | 无 |
EffectiveCost | 账单货币成本 | 如果 ChargeType == “Purchase” 或 “Refund”,并且 PricingModel == “Reservation” 或 “SavingsPlan”,则 0 ;否则,请使用 CostInBillingCurrency。 |
发票开具人名称 | 合作伙伴名称 | 如果 PartnerName 为空,请使用 Microsoft |
ListCost | • 企业协议:不可用 • Microsoft 客户协议:PaygCostInBillingCurrency |
无 |
列表单价 | • 企业协议:PayGPrice • Microsoft 客户协议:PayGPrice * ExchangeRate |
无 |
定价类别 | 定价模型 | 如果是 OnDemand ,则为 Standard ;如果是 Spot ,则为 Dynamic ;如果是 Reservation 或 Savings Plan ,则为 Committed ;其余情况为 null |
计价数量 | 数量/焦点:x_PricingBlockSize | 请注意,x_PricingBlockSize需要映射。 有关详细信息,请参阅列说明。 |
计价单位 | DistinctUnits(查找) | 使用定价单位数据文件将 UnitOfMeasure 映射到 DistinctUnits |
提供者名称 | Microsoft |
无 |
出版社名称 | 出版社名称 | 无 |
RegionId | focus:RegionName | 小写和移除空格 |
地区名称 | ResourceLocation | 使用区域数据文件2将 ResourceLocation (OriginalValue) 映射到 RegionName |
ResourceId | ResourceId | 无 |
资源名称 | EA:ResourceName MCA:last(split(ResourceId, "/")) |
Azure 资源名称包括多个级别(例如“SqlServerName/SqlDbName”),这需要更多的处理。 这是一种简化的方法,仅使用最后一个最具体的段。 |
资源类型 | SingularDisplayName(查找) | 使用资源类型数据文件将 ResourceType 映射到 SingularDisplayName |
服务类别 | ServiceCategory(查找) | 使用服务数据文件将 ConsumedService 和 ResourceType 映射到 ServiceCategory |
服务名称 | ServiceName(查找) | 使用服务数据文件将 ConsumedService 和 ResourceType 映射到 ServiceName |
SKU标识 | • 企业协议:不可用 • Microsoft客户协议:ProductId |
无 |
SkuPriceId | 不可用 | 无 |
子账户ID | 订阅编号 | 无 |
子帐号名称 | 订阅名称 | 无 |
标记 | 标记 | 包装在 { 和 } 中(如果需要) |
¹ 成本管理中的“数量”指的是已消耗(使用)数量。
² 虽然 RegionName 是 ResourceLocation 的直接映射,但成本管理和 FinOps 工具包报告还会进行额外的数据清理,以确保基于区域数据文件的值的一致性。
有关 FOCUS 列的反馈
如果你有关于映射或完整 FOCUS 支持计划的反馈,请在 FinOps 工具包论坛中发起会话。 如果你认为存在 bug,请创建问题。
如果你有有关 FOCUS 的反馈,请在 FOCUS 存储库中创建问题。 我们还鼓励你考虑参与 FOCUS 项目。 该项目正在寻找更多的从业者,他们将利用自身经验来指导工作,以帮助努力使其成为可能的最有用的规范。 若要详细了解 FOCUS 或要参与项目,请访问 focus.finops.org。
提供反馈
请您给我们一个简短的评价,让我们知道我们做得怎么样。 我们将使用这些评审来改进和扩展 FinOps 工具和资源。
如果您在寻找特定的东西,可以为现有想法投票或者创建新想法。 与他人分享想法,以获得更多的选票。 我们专注于拥有最多选票的想法。
相关内容
相关资源:
相关产品:
相关解决方案: