3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SAP BTP】Alert Notification ServiceをSlackやメールに通知する設定方法

Last updated at Posted at 2022-10-30

はじめに:SAP Alert Notification Service for SAP BTPとは

SAP社のエンタープライズPaaS製品である、SAP Business Technology Platform(BTP) で業務アプリケーションを開発している@fussasyです。

SAP BTPで提供するサービスの一つである「Alert Notification Service」はBTP開発においては必須です。Alert Notification Serviceは、リアルタイムに通知や警告を送信するための共通APIを作成・提供するサービスです。これは外部のメールやチャットサービス(Slack等)へ発信する設定が可能です。主に、Java等で開発しSAP BTPにデプロイしたアプリケーションをAlert Notification ServiceにBindし、何かしらの情報を通知させるという利用の仕方をします。ちなみに、Alert Notification Serviceは再試行、フォールバックや送信順序についての設定も可能です。

今回は、Japan SAP Users' Group(JSUG)でのハンズオンで学んだ内容をベースに、メールやSlackでの通知設定を整理します。

Alert Notificationの内容をSlackに通知する設定手順

SAP BTP Trialアカウントを利用してAlert Notification ServiceをSlackやメールに通知する設定手順を整理します。

①Alert Notification Serviceのインスタンスを作成する

trialのサブアカウントに入ります。
素材画像_1.png
SAP BTPコックピッドでAlert Notification Serviceのインスタンスを作成します。(Instance Nameは任意)
素材画像_2.png
インスタンスを作成しましたら、Manage Instanceに移動します。
素材画像_3.png

②Alert Notification ServiceのManage InstanceでActionを作成する

まずは、Actionを作成します。ここでは、どういったサービスに配信するのか、配信するアドレス、タイトルや内容等を編集し設定することができます。
Actionsを選択 → Createを選択すると以下の選択画面が表示されます。メール通知設定をする場合はEmail、SlackであればSlackを選択してください。
素材画像_4.png
Nextを押下すると以下の画面に移ります。配信したい先のメールアドレスを入力してください。
素材画像_5.png
Slackの場合、Nextを押下すると以下の画面に移ります。
素材画像_6.png
SlackのApp DirectoryでIncoming Webhookで配信したいチャンネルを選択して追加し、Webhook URLを取得してください。これをSlackで設定するURL Addressに設定します。
素材画像_22.png
素材画像_23.png
補足ですが、最初のAction TypeでTeams等を選択した場合も、同様にTeams等においてIncoming WebhookでURLを発行して設定すれば大丈夫です。

Actionを有効にする場合、メールであれば設定したメールアドレス宛に有効化に関するメールが届きますので、有効化を実施してください。
素材画像_9.png
他に、作成済のAction一覧から、Actionを選択して個別に有効・無効とすることもできます。
素材画像_7.png
素材画像_8.png

③Alert Notification ServiceのManage InstanceでConditionを作成する

次に、Condtionを作成します。条件に一致すれば情報が配信されるようになります。Conditionsを選択 → Createを選択すると以下の画面が表示されます。
素材画像_10.png

今回は、ユーザーがCloud Foundryスペースに追加されるか、スペースに既に存在するユーザーに、開発者ロールが割り当てられたときをトリガーとするため、Condtionを「eventType」「Is Equal To」「audit.user.space_developer_add」とします。他に、ユーザー削除された場合等、パターン別による条件の追加方法はHelp Portal (Documentation)のSAP Alert Notification for SAP BTPで、Built-In EventUser Lifecycle Eventsの一覧から確認してください。

④Alert Notification ServiceのManage InstanceでSubscriptionを作成する

最後に、Subscriptionを作成します。これに先ほどのActionとCondtionを繋げます。Subscriptionsを選択 → Createを選択すると以下の画面が表示されます。
素材画像_11.png
必須項目を入力し、Createを押下すると以下の画面に移ります。
素材画像_12.png
作成済のConditionを選択し、Assignを押下すると以下の画面に移ります。
素材画像_13.png
作成済のActionを選択し、Assignを押下して設定完了です。

⑤Alert Notification ServiceのManage Instanceでイベントを発火させてみる

作成したSubscriptionが機能するかどうか、イベント発火テストをしてみましょう。
素材画像_14.png
作成済Subscriptionを選択し、Send Test Eventを押下します。
素材画像_15.png
"eventType"を"sampleType"から"audit.user.space_developer_add"に修正して、Sendを押下します。
素材画像_16.png
すると、以下のようなメールが飛んでいることが分かります。
素材画像_20.png
Slackに配信すると以下の様になります。
素材画像_17.png

イベント発火テストがうまくいけば、実際のBTPコックピッド上の行動でイベント発火をしてみましょう。Cloud Foundryのtrialサブアカウントからdevスペースに移動し、Membersを選択してください。Cloud FoundryはUS East (VA) で作成しておりますので、Add Membersで技術ユーザ「sap_cp_us10_ans@sap.com」を追加します。
素材画像_19.png
もし、US East (VA) でない場合(AzureやAWS Japan(Tokyo)等)、Help Portal (Documentation)の、Built-In EventUser Lifecycle Eventsで、対応するユーザーを確認してください。
素材画像_18.png
その後、新たにメンバーを追加するとイベント発火より、メールやSlackに情報が通知されたことが確認できます。
素材画像_21.png

おわりに

以上、簡単ではありますが、Alert Notification Serviceを利用して、Slackやメールに通知する設定方法の基本的な流れを整理しました。国内だけでなく世界的に見ても、SAP BTPの活用は今後も増え続けていくと確実視されますので、私自身も関連する技術情報を習得しどんどん発信していきたいと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?