成本管理计划操作 Bicep 模块

本文介绍成本管理计划操作 Bicep 注册表模块,该模块可帮助你按计划发送电子邮件或在检测到异常时发送电子邮件。

计划操作允许你每天、每周或每月配置电子邮件警报。 计划操作基于成本管理视图进行配置,可在Azure 门户的成本分析中打开和编辑。 电子邮件警报包括所选视图的图片,以及指向包含汇总成本数据的 CSV 文件的链接( 可选)。 还可以使用计划操作为订阅服务配置异常检测警报。

若要了解计划警报,请参阅 “保存和共享视图”。 若要了解异常警报,请参阅 “分析意外费用”。


语法

版本: 1.1 范围: 订阅、资源组

module <string> 'br/public:cost/<scope>-scheduled-action:1.1' = {
  name: <string>
  params: {
    name: <string>
    kind: 'Email' | 'InsightAlert'
    private: <bool>
    builtInView: 'AccumulatedCosts' | 'CostByService' | 'DailyCosts'
    viewId: <string>
    displayName: <string>
    status: 'Enabled' | 'Disabled'
    notificationEmail: <string>
    emailRecipients: [ <string>, <string>, ... ]
    emailSubject: <string>
    emailMessage: <string>
    emailLanguage: <string>
    emailRegionalFormat: <string>
    includeCsv: <bool>
    scheduleFrequency: 'Daily' | 'Weekly' | 'Monthly'
    scheduleDaysOfWeek: [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ]
    scheduleDayOfMonth: <int>
    scheduleWeeksOfMonth: [ 'First', 'Second', 'Third', 'Fourth', 'Last' ]
    scheduleStartDate: 'yyyy-MM-ddTHH:miZ'
    scheduleEndDate: 'yyyy-MM-dd'
  }
}

参数

下面是计划操作模块的参数:

名称 类型 说明
name string 必填。 资源 ID 中使用的计划操作的名称。
kind string 可选。 指示计划的操作的类型。 默认值:电子邮件。
private bool 可选。 指示计划操作是否为专用操作,并且仅可由当前用户编辑。 如果为 False,则计划操作将与同一范围内的其他用户共享。 如果类型为 InsightAlert,则忽略 。 默认值:false。
builtInView string 可选。 指定要使用的内置视图。 它是完整视图 ID 的快捷方式。
viewId string 可选。 如果类型为 Email 且未设置 builtInView,则为必需。 计划操作发送到的视图的资源 ID。 此视图必须是专用视图(租户级别),或与计划操作属于同一范围。 如果 kind 为 InsightAlert 或者设置了 builtInView,则将被忽略。
displayName string 可选。 查看计划操作列表时在门户中显示的显示名称。 默认值:(计划的操作名称)。
status string 可选。 计划操作的状态。 默认:启用。
notificationEmail string 必填。 负责此计划操作的人员或团队的电子邮件地址。 此电子邮件地址包含在电子邮件中。 默认值:(部署模板的用户的电子邮件地址)。
emailRecipients array 必填。 应接收电子邮件的电子邮件地址列表。 至少需要一个有效的电子邮件地址。
emailSubject string 可选。 发送给电子邮件收件人的电子邮件的主题。 默认值:(视图名称)。
emailMessage string 可选。 包括一则信息,为收件人提供有关他们为何会收到邮件的背景信息、需要采取的行动以及/或可以联系的人。 默认值: "" (无消息)。
emailLanguage string 可选。 用于电子邮件模板的语言。 默认值:en.
emailRegionalFormat string 可选。 用于日期、时间和数字的区域格式。 默认值:en-us。
includeCsv bool 可选。 指示是否在图表中包含指向 CSV 文件格式备份数据的链接。 如果类型为 InsightAlert,则忽略 。 默认值:false。
scheduleFrequency string 可选。 计划操作运行的频率。 默认值:Email 为每日。InsightAlert 为每周。
scheduleDaysOfWeek array 可选。 如果类型为 Email 且 scheduleFrequency 为 Weekly,则为必需 。 应送达电子邮件的一周中的天数列表。 允许:星期一、星期二、星期三、星期四、星期五、星期六、星期日。 默认值:星期一。
scheduleDayOfMonth int 可选。 如果类型为 Email 且 scheduleFrequency 为 Monthly,则为必需 。 每月发送电子邮件的日期。 每月成本直到本月的第三天才最终确定。 如果 scheduleFrequency 为 Monthly,则必须提供此值或 scheduleWeeksOfMonth。 默认值:0(未设置)。
scheduleWeeksOfMonth array 可选。 本月计划发送电子邮件的周列表。 如果 scheduleFrequency 为 Monthly,则必须提供此值或 scheduleDayOfMonth。 允许的周次:第一周、第二周、第三周、第四周、最后一周。 默认 [] (未设置)。
scheduleStartDate string 可选。 计划运行的第一天。 使用时间指示何时收到电子邮件。 格式必须为 yyyy-MM-ddTHH:miZ。 默认值 = Now。
scheduleEndDate string 可选。 计划运行的最后一天。 格式必须为 yyyy-MM-dd。 默认值 = 从开始日期开始的 1 年。

示例

以下示例可帮助你按计划或检测到异常情况发送电子邮件。

为内置视图计划电子邮件

订阅服务资源组

为 DailyCosts 内置视图创建共享的定时操作。

module dailyCostsAlert 'br/public:cost/subscription-scheduled-action:1.0.2' = {
  name: 'dailyCostsAlert'
  params: {
    name: 'DailyCostsAlert'
    displayName: 'My schedule'
    builtInView: 'DailyCosts'
    emailRecipients: [ 'ema@contoso.com' ]
    notificationEmail: 'ema@contoso.com'
    scheduleFrequency: 'Weekly'
    scheduleDaysOfWeek: [ 'Monday' ]
  }
}

为电子邮件计划自定义开始日期

订阅服务资源组

为具有自定义开始/结束日期的 DailyCosts 内置视图创建专用计划操作。

module privateAlert 'br/public:cost/resourcegroup-scheduled-action:1.0.2' = {
  name: 'privateAlert'
  params: {
    name: 'PrivateAlert'
    displayName: 'My private schedule'
    private: true
    builtInView: 'DailyCosts'
    emailRecipients: [ 'priya@contoso.com' ]
    notificationEmail: 'priya@contoso.com'
    scheduleFrequency: 'Monthly'
    scheduleDayOfMonth: 1
    scheduleStartDate: scheduleStartDate
    scheduleEndDate: scheduleEndDate
  }
}

配置异常警报

订阅

为订阅创建异常警报。

module anomalyAlert 'br/public:cost/subscription-scheduled-action:1.0.2' = {
  name: 'anomalyAlert'
  params: {
    name: 'AnomalyAlert'
    kind: 'InsightAlert'
    displayName: 'My anomaly check'
    emailRecipients: [ 'ana@contoso.com' ]
    notificationEmail: 'ana@contoso.com'
  }
}

提供反馈

请您给我们一个简短的评价,让我们知道我们做得怎么样。 我们将使用这些评审来改进和扩展 FinOps 工具和资源。

如果要查找特定的模块或模板,请投票选择现有模块或创建新想法。 与他人分享你的想法。 我们专注于拥有最多选票的想法。


相关资源:

相关的 FinOps 功能:

相关产品:

相关解决方案: