次の方法で共有


Cost Management のスケジュールされたアクション bicep モジュール

この記事では、スケジュールに従って、または異常が検出されたときに電子メールを送信するのに役立つ、Cost Management のスケジュールされたアクション Bicep Registry モジュールについて説明します。

スケジュールされたアクションを使用すると、毎日、毎週、または毎月の電子メール アラートを構成できます。 スケジュールされたアクションは、コスト管理ビューに基づいて構成されます。このビューは、Azure portal のコスト分析で開いて編集できます。 電子メール アラートには、選択したビューの画像と、必要に応じて、集計されたコスト データを含む 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 省略可能。 kind が Email で builtInView が設定されていない場合は必須です。 スケジュールされたアクションが送信されるビューのリソース ID。 ビューはプライベート (テナント レベル) であるか、スケジュールされたアクションと同じスコープによって所有されている必要があります。 種類が InsightAlert の場合、または builtInView が設定されている場合は無視されます。
displayName string 省略可能。 スケジュールされたアクションの一覧を表示するときにポータルに表示する表示名。 既定値: (スケジュールされたアクション名)。
status string 省略可能。 スケジュールされたアクションの状態。 既定: 有効化。
notificationEmail string 必須。 このスケジュールされたアクションを担当するユーザーまたはチームの電子メール アドレス。 このメール アドレスは電子メールに含まれています。 既定値: (テンプレートをデプロイしているユーザーの電子メール アドレス)。
emailRecipients array 必須。 メールを受信する電子メール アドレスの一覧。 少なくとも 1 つの有効な電子メール アドレスが必要です。
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場合は必須です。 メールを配信する月の日。 毎月のコストは、月の 3 日目まで最終的ではありません。 scheduleFrequency が Monthly場合は、この値または scheduleWeeksOfMonth が必要です。 既定値: 0 (設定されていません)。
scheduleWeeksOfMonth array 省略可能。 メールを配信する月の週の一覧。 scheduleFrequency が Monthly場合は、この値または scheduleDayOfMonth が必要です。 許可: 最初、2 番目、3 番目、4 番目、最後。 既定の [] (設定されていません)。
scheduleStartDate string 省略可能。 スケジュールを実行する最初の日。 時間を使用して、メールを受信するタイミングを指定します。 yyyy-MM-ddTHH:miZ の形式にする必要があります。 既定値 = 今すぐ。
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 機能:

関連製品:

関連するソリューション: