New-FinOpsCostExport 命令

New-FinOpsCostExport 命令为指定范围创建新的成本管理导出。

此命令已使用以下 API 版本进行测试:

  • 2023-07-01-preview (默认值) - 启用 FocusCost 和其他数据集。
  • 2023-08-01

语法

# Create a new daily/monthly export
New-FinOpsCostExport `
    [-Name] <string> `
    -Scope <string> `
    [-Dataset <string>] `
    [-DatasetVersion <string>] `
    [-DatasetFilters <hashtable>] `
    [-Monthly] `
    [-StartDate <DateTime>] `
    [-EndDate <DateTime>] `
    -StorageAccountId <string> `
    [-StorageContainer <string>] `
    [-StoragePath <string>] `
    [-Location] `
    [-DoNotPartition] `
    [-DoNotOverwrite] `
    [-Execute] `
    [-Backfill <int>] `
    [-ApiVersion <string>]
# Create a new one-time export
New-FinOpsCostExport `
    [-Name] <string> `
    -Scope <string> `
    [-Dataset <string>] `
    [-DatasetVersion <string>] `
    [-DatasetFilters <hashtable>] `
    -OneTime `
    -StartDate <DateTime> `
    -EndDate <DateTime> `
    -StorageAccountId <string> `
    [-StorageContainer <string>] `
    [-StoragePath <string>] `
    [-Location] `
    [-DoNotPartition] `
    [-ApiVersion <string>]

参数设置

名称 说明
‑Name 必填。 导出的名称。
‑Scope 必填。 要导出其数据的范围的资源 ID。
‑Dataset 可选。 要导出的数据集。 允许的值 = “ActualCost”、“AmortizedCost”、“FocusCost”、“PriceSheet”、“ReservationDetails”、“ReservationRecommendations”、“ReservationTransactions”。 默认值 = “FocusCost”。
‑DatasetVersion 可选。 要导出的数据集的架构版本。 默认值 = “1.0” (仅适用于 FocusCost)。
‑DatasetFilters 可选。 用于筛选数据集的键/值对字典。 仅适用于 2023-07-01-preview 中的 ReservationRecommendations 数据集。 有效筛选器为 reservationScope(共享或单一)、resourceType(例如 VirtualMachines)、lookBackPeriod(Last7Days、Last30Days、Last60Days)。
‑CommitmentDiscountScope 可选。 导出预留建议时要使用的预留范围筛选器。 对于其他导出类型忽略。 允许的值:共享值、单个值。 默认值:共享。
‑CommitmentDiscountResourceType 可选。 导出预留建议时要使用的预留资源类型筛选器。 对于其他导出类型忽略。 默认值:VirtualMachines。
‑CommitmentDiscountLookback 可选。 导出预留建议时要使用的预留资源类型筛选器。 对于其他导出类型忽略。 允许的值:7、30、60。 默认值:30。
‑Monthly 可选。 指示导出应每月执行(而不是每日)。 对于价格、预留建议和预留交易,忽略。 默认值为 false。
‑OneTime 可选。 指示导出应只执行一次。 设置后,开始日期/结束日期是查询数据的日期。 不能与 -Monthly 选项结合使用。
‑StartDate 可选。 开始运行导出的一天。 默认值 = 如果设置了 -OneTime,则为上月的第一天;否则,明天(DateTime.Now.AddDays(1))。
‑EndDate 可选。 运行导出的最后一天。 默认值 = 设置 -OneTime 时 -StartDate 中标识的月份的最后一天;否则为 -StartDate 的 5 年。
‑StorageAccountId 必填。 要将数据导出到的存储帐户的资源 ID。
‑StorageContainer 可选。 要将数据导出到的容器的名称。 如果容器不存在,则会创建容器。 默认值为“cost-management”。
‑StoragePath 可选。 将数据导出到存储容器中的路径。 默认值 = (范围 ID)。
‑DoNotPartition 可选。 指示是否将导出的数据分区到多个文件中。 建议使用分区来保持可靠性,因此此选项是禁用分区。 默认值为 false。
‑DoNotOverwrite 可选。 指示是否覆盖当前月份以前导出的数据。 建议覆盖存储大小和成本下降,以便此选项禁用覆盖。 如果为 FinOps 中心创建导出,建议指定 -DoNotOverwrite 选项来改进故障排除。 默认值为 false。
‑SystemAssignedIdentity 可选。 指示应使用托管标识将数据推送到存储帐户。 需要托管标识才能使用防火墙后面的存储帐户,但需要访问权限才能授予权限(例如所有者)。 如果指定,将使用托管标识;否则,不会使用托管标识,并且导出将无法将数据推送到防火墙后面的存储帐户。 默认值 = (空)。
‑Location 可选。 指示用于将数据推送到存储帐户的托管标识的 Azure 位置。 需要托管标识才能使用防火墙后面的存储帐户,但需要访问权限才能授予权限(例如所有者)。 如果指定,将使用托管标识;否则,不会使用托管标识,并且导出将无法将数据推送到防火墙后面的存储帐户。 默认值 = (空)。
‑Execute 可选。 指示应在创建后立即运行导出。
‑Backfill 可选。 要导出其数据的月份数。 这仅在创建时运行一次。 未重新尝试失败的导出。 设置 -OneTime 时不受支持。 默认值 = 0。
‑ApiVersion 可选。 调用成本管理导出 API 时要使用的 API 版本。 默认值 = 2023-07-01-preview。

示例

创建一次导出

New-FinopsCostExport -Name 'July2023OneTime' `
    -Scope "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" `
    -StorageAccountId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedStorage/providers/Microsoft.Storage/storageAccounts/ddsharedstorage" `
    -DataSet ActualCost `
    -OneTime `
    -StartDate "2023-07-01" `
    -EndDate "2023-07-31"

从 2023-07-01 到 2023-07-31 创建名为“July2023OneTime”的新一次导出,数据集 = 实际并执行一次。

创建并运行每日导出

New-FinopsCostExport -Name 'DailyMTD' `
    -Scope "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" `
    -StorageAccountId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedStorage/providers/Microsoft.Storage/storageAccounts/ddsharedstorage" `
    -DataSet AmortizedCost `
    -EndDate "2024-12-31" `
    -Execute

使用 StartDate = DateTime.Now 和 EndDate = 2024-12-31 创建名为 Daily-MTD 的新计划导出。 创建后立即运行导出。

创建每月导出

New-FinopsCostExport -Name 'Monthly-Report' `
    -Scope "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" `
    -StorageAccountId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedStorage/providers/Microsoft.Storage/storageAccounts/ddsharedstorage" `
    -DataSet AmortizedCost `
    -StartDate $(Get-Date).AddDays(5) `
    -EndDate "2024-08-15" `
    -Monthly `
    -Execute

从 DateTime.Now 和 EndDate 2024-08-15 创建名为 Monthly-Report 的新每月导出,其中包含 StartDate = 1 天。 创建后立即运行导出。

创建每日导出和回填四个月

New-FinopsCostExport -Name 'Daily--MTD' `
    -Scope "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" `
    -StorageAccountId "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedStorage/providers/Microsoft.Storage/storageAccounts/ddsharedstorage" `
    -DataSet ActualCost `
    -StorageContainer "costreports" `
    -Backfill 4 `
    -Execute

使用 StartDate = DateTime.Now 和 EndDate 5 年创建名为 Daily-MTD 的新每日导出。 此外,导出前四个月的成本数据,并将所有结果保存在指定存储帐户的容器中 costreports


提供反馈

让我们了解我们在快速评审中是如何完成的。 我们将使用这些评审来改进和扩展 FinOps 工具和资源。

如果要查找特定内容,请投票寻找现有内容或创建新想法。 与他人分享想法,以获得更多的选票。 我们专注于拥有最多选票的想法。


相关产品:

相关解决方案: