Fabric アイテムが作成されたことを検知する方法

## 背景
Power BI を広く利用するために Power BI Premium per Capacity を導入している組織が多くありますが、まだ Fabric のことをよく分かってないから、テナント設定で Fabric の利用を禁止している場合もあるかと思います。
Data Activator がプレビュー機能だった時は、単独でこの機能の有効/無効を設定できたのですが、この度 GA したことに伴い、単独の設定がなくなってしまい、**Fabric アイテムの作成が有効化**されていないと作れなくなりました。
Power BI レポートから直接アラート設定できて便利だから **Activator だけ許可したい、ということが現時点ではできない**ので、アラート以外のアイテムが作成されたことを検知することで、対応したいと思います。

Power BI のアラート機能についてはこちらをご覧ください。(若干情報古くなってます)

https://jpbap-sqlbi.github.io/blog/powerbi/pbi_data_activator_alert/

## Activator 以外の Fabric アイテムが作成されたことを検知する

**Fabric アイテムが作成されたことを検知するAPI**があるので、これを Real-Time Intelligence (RTI) の「リアルタイム ハブ」で検知して、アラートによりメールや Teams などに通知させることができます。

https://learn.microsoft.com/ja-jp/fabric/real-time-hub/create-streams-fabric-workspace-item-events

:::note warn
現時点では、レポートやセマンティック モデルなどの Power BI アイテムに関するイベントは、Fabric ワークスペース アイテム イベントの対象外です。
:::

今回の仕組みは下図の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/2bcb36e8-98d5-a04a-44d1-b3f6e16bda41.png)

### 設定方法
1. Fabric / Power BI サービスの左側のナビゲーション バーで [リアルタイム] を選択し、[Fabric イベント] → [ワークスペース アイテム イベント] の [アラートの設定] ボタンをクリックして、アラートを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/69e77be7-2536-ea02-c9ee-35abe4b3fa23.png)

1. 監視するイベントの種類として、次の2つを選択
    - Microsoft.Fabric.ItemCreateSucceeded
作成に成功したイベント
    - Microsoft.Fabric.ItemCreateFailed
作成に失敗したイベント。（こちらを入れるかどうかはお好みで。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/aef9bad1-cfce-aefb-3c18-5ce71b031983.png)

1. 監視対象のワークスペースを選択し、フィルターの設定を次のようにして、[次へ] をクリック
    | フィールド | 演算子 | 値 |
    |:-:|:-:|:-:|
    | data.itemKind | 次の値を含まない文字列に: | Reflex |
        
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/87a412f0-7670-7c2f-6ba8-0c1b7e80cf10.png)
    
    :::note warn
    監視するワークスペースは Fabric 容量または試用版に割り当てられている必要があります。
    Premium 容量に割り当てられているワークスペースや、マイ ワークスペースを監視することは、現時点ではできなさそうです。（確認中）

1. 構成を確認して [保存] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/e9960276-3cb5-6c99-141a-8dbd23621c82.png)

1. 画面右側に [アラートの設定] が表示されるので、**アクション**を選択し、**保存場所**として、このアラートが保存されるワークスペースと、アラートの名前を設定し [作成] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/b8b6cd04-4f40-68a9-a8ef-4217609856fd.png)

    :::note warn
    保存場所のワークスペースも Fabric/Premium 容量に割り当てられている必要があります。
    
1. 作成できたら [オープン] をクリックしてアイテムを開き、Teams に送るメッセージの内容を調整します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/5132a029-c99b-aed0-ef08-591004d89065.png)

1. WorkspaceEvents event アラートの定義で [アクション] を適宜編集します。見出しタイトルやメッセージには、イベント情報を組み込むことができます。既定で表示されるActivation Time の他に、コンテキストで選択した項目が、チャット本文に表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/49da2070-5218-d492-2721-d79e43256b6f.png)

1. [アクションの編集] ボタンを押すことで、送信されるイメージを確認しながら設定できます。[適用] ボタンで変更を反映します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/0352f1dd-d1da-490a-3100-399094b72818.png)

1. [テスト アクションを送信してください] をクリックすることで、実際に Data Activator から Teams にチャットが来ることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/fe107cca-9bb5-b1b6-6858-25510b1dda29.png)

問題なければ [保存して開始] をクリックし、利用を開始します。

## さいごに
Activator 機能単体の有効化については、将来実装される可能性もあるかと思います。
現時点ではこの方法での対応もご検討ください。