activator-cli について
activator-cliは、Fabric Activator / Reflex項目の作成と確認を行うコマンドラインスキルです。アラートルール、ソース、アクションを扱い、読み取り専用の確認と変更を分け、ルール作成前に信号ソースの検証を求めます。
主な機能
- 01Activator項目の作成、更新、削除
- 02アラートルール、ソース、アクションの設定
- 03既存アラートの確認と説明
- 04作成前の信号ソース検証
- 05ReflexEntities.jsonの読み取りと更新
活用シーン
- 01検証済み信号に対するアラートルールの作成
- 02Activatorのルールとアクションの確認
- 03既存アラートの更新または削除
- 04Reflex定義の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ skills-for-fabric --skill activator-cliインストール後、Claude Code で/activator-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
apm.ymlreferences/authoring.mdconsumption.mdreferences/authoring/action-types.mddtb-source.mdeventstream-source.mdkql-source.mdpowerbi-source.mdreal-time-hub-source.mdrule-conditions.mdsource-types.md詳細
テレメトリ — 必須。 すべての
api.fabric.microsoft.com呼び出しにはx-ms-fabric-skill: activator-cliを付ける必要があります(az restの場合は--headers "x-ms-fabric-skill=activator-cli")。 すべての LRO ポーリング、fabric_lro、リトライにも付けてください。スニペットでは省略されていますが、必ず追加してください。
重要な注意事項
- ワークスペース名からワークスペースの詳細(ID を含む)を見つけるには、すべてのワークスペースを一覧表示してから、JMESPath でフィルタリングします。
- ワークスペース ID、アイテムの種類、アイテム名からアイテムの詳細(ID を含む)を見つけるには、そのワークスペース内の該当する種類のアイテムをすべて一覧表示してから、JMESPath でフィルタリングします。
- スキルの使い分け:Fabric Activator / Reflex アイテムでは、アラートルールの作成と既存のアラートの確認のどちらにも、
activator-cliを使用します。アラートにデータを供給するストリーミングトポロジにはeventstream-cli、その背後にある KQL データベースにはeventhouse-cli、Power BI レポートに関する質問にはfabriciqを使用します。
Fabric Activator(Reflex)— CLI スキル
このスキルは、アラートルール、そのソース、そのアクション、およびそれらを保持する ReflexEntities.json 定義など、Fabric Activator / Reflex アイテムをすべて扱います。
これはモードディスパッチャーであり、手順は含まれていません。以下の表からリクエストに合うモードを選び、コマンドを 1 つでも実行する前に、ファイル読み取りツールで対応する references/<mode>.md ファイルを最後まで読んでください。このファイルにはエンドポイント、エンティティスキーマ、テンプレート、注意事項が記載されています。これを読まずに操作すると、無効な ReflexEntities.json ペイロードが生成され、400 エラーが発生します。
このリファレンスは、操作するために必要であり、質問するために必要なわけではありません。リクエストの情報が不足していて、Fabric を呼び出さずに確認の質問を返す場合は、今すぐ質問し、操作に進む際にリファレンスを読んでください。
モードの選択
| モード | リクエストの内容 | リクエストの例 | 最初に読むファイル |
|---|---|---|---|
authoring | Activator アイテム、ルール、ソース、アクションを作成、更新、構成、または削除する | アラートを作成する、Activator を作成する、Reflex を作成する、~になったら通知する、~になったら知らせる、~になったらアクションを実行する、~になったらメールを送信する、~になったら Teams メッセージを送信する、~になったらパイプラインを実行する、アラートを更新する、アラートを削除する | references/authoring.md |
consumption | 既存の Activator、ルール、ソース、アクションを一覧表示、確認、デコード、または説明する | 自分のアラートを表示する、どんなアラートがあるか確認する、Activator を一覧表示する、このアラートを確認する、ルールを表示する、ソースを表示する、Reflex 定義を取得する、このアラートが発火する理由を確認する | references/consumption.md |
モードの境界ルール
consumption は読み取り専用です。Activator アイテム、ルール、ソース、アクションの作成、更新、構成、または削除を求めるリクエストには、authoring が必要です。その旨を伝え、references/authoring.md を読んでから進めてください。
純粋な GET/説明のリクエストは consumption のまま処理してください。authoring に切り替えたり、回答のために何かを変更したりしないでください。
リクエストが実際に複数のモードにまたがる場合は、1 つずつ処理し、それぞれの作業を始める前に対応するリファレンスを読んでください。上記の表を読んでもモードが曖昧な場合は、推測せず、短い確認の質問を 1 つしてください。
ターミナルへの書き込み — 省略してはいけない手順
リファレンスを読み、定義をデコードし、エンティティを組み立てただけでは、タスクを完了したことになりません。作成作業は、状態を変更する 1 回の呼び出しで完了します。呼び出しを行っていない場合、何も永続化されていません。成功したと報告するのではなく、その旨を明示してください。
| モード | ターミナルへの書き込み |
|---|---|
authoring | 項目の作成には POST /v1/workspaces/{ws}/reflexes、ルール、ソース、アクションの永続化には POST /v1/workspaces/{ws}/reflexes/{id}/updateDefinition、削除には DELETE /v1/workspaces/{ws}/reflexes/{id} を使用します。ReflexEntities.json のビルド、文字列化、または base64 エンコードは書き込みではありません。 |
consumption | なし — このモードは読み取り専用です |
作成タスクの完了を報告する前に、ターミナル呼び出しが明示的な成功(HTTP 200/201、または 202 に対するターミナル LRO の成功)を返したことを確認し、モードのリファレンスに読み戻しが記載されている場合は、定義を読み戻してください。Power BI ソースは例外です。パブリック ALM エクスポートは、正常にインポートされたアーティファクトでも拒否することがあります。そのため、読み戻し結果が空または利用できなくても、書き込みが失敗した証拠にはなりません。references/authoring/powerbi-source.md に従って、updateDefinition の結果と読み戻しの制約を分けて報告してください。
ソース検証ゲート(作成時のみ)
シグナルを参照するルールを作成する前に、ソースが実在することを確認してください。要求されたワークスペース内のみでソースを解決し、そのソースに要求された列/フィールド/プロパティが存在することを検証し、そのシグナルを含む代表的な行、イベント、またはサンプルを少なくとも 1 つ確認してください。
スキーマのみ、0 行、イベントが発生していない、または古くなった証拠は、ソースデータが不足していることを意味します。ソースが不足している場合は、停止して確認を求めてください。どのソースとフィールドがシグナルを提供するのかを尋ねます。Reflex を作成したり、要求に無理に合わせるために無関係な既存の Activator や Eventstream に対して updateDefinition を呼び出したりしてはいけません。また、Activator/Reflex/Eventstream のいずれも作成または更新していないことを明確に伝えてください。唯一の例外は、今後使用可能になるソース、またはまだイベントが発生していないソースを対象に作成するよう明示的に指示された場合です。その場合は、それを前提として明記してください。
このゲートの実行に必要な情報は、すべてこのページにあります。依頼にソースのマッピング、しきい値、宛先、またはアクションの対象がすでに欠けている場合は、まずそれらを確認してください。依頼の情報が不足していると分かるだけのために references/authoring.md を読んだり、Fabric API を呼び出したりしてはいけません。
共有の基本事項(すべてのモード)
まずワークスペースと Activator アイテムを特定します。すべてのモードで必要です。CRITICAL NOTES 1 および 2 の説明に従い、表示名で一覧表示して完全一致で絞り込みます。この手順だけで完結しているため、開始に必要なのはこれだけです。
以下の表は、共有の common/ ドキュメントに記載されている任意の補足情報です。詳細が実際に必要になった場合に限り、該当する行を参照してください。環境に common/ がない場合は、その旨を1行で伝えてモードのリファレンスに進んでください。ファイルシステムを探して common/ を glob、一覧表示、検索してはいけません。
| タスク | リファレンス | 備考 |
|---|---|---|
| Fabric でワークスペースとアイテムを検索する | COMMON-CLI.md | ページネーションと JMESPath による絞り込みの詳細 |
| Fabric のトポロジと主要な概念 | COMMON-CORE.md | アイテムの種類、ワークスペース、容量 |
| 認証とトークンの取得 | COMMON-CORE.md | 対象ユーザーが誤っていると 401 が発生します。認証に関する問題があれば、まずお読みください |
| 認証手順 | COMMON-CLI.md | az login のフローとトークンの取得 |
| コア コントロール プレーン REST API | COMMON-CORE.md | ページネーション、LRO のポーリング、レート制限 |
| Fabric アイテム定義 | ITEM-DEFINITIONS-CORE.md | Base64 でエンコードされた parts 構造 |
| 注意点とトラブルシューティング | COMMON-CLI.md | az rest の対象ユーザー、シェルのエスケープ、トークンの有効期限 |
Activator は汎用の items コレクションではなく、reflexes コレクションを使用します。/v1/workspaces/{workspaceId}/reflexes[/{reflexId}]。
ルール
必須
- 他の作業を始める前に、上の表からモードを1つだけ選択してください。
- モードに関する最初のコマンドを実行する前に、最初のツール呼び出しとして
references/<mode>.mdを最初から最後まで読んでください。確認の質問だけを行い、Fabric 呼び出しを行わない場合は、まだ読む必要はありません。 - すべての
az rest呼び出しで--resource https://api.fabric.microsoft.comを指定してください。指定しないとトークンの対象ユーザーが誤り、呼び出しが 401 を返します。 getDefinitionは--body '{}'を指定して POST で呼び出し、その後、検査する前にReflexEntities.json部分を Base64 デコードしてください。GET は 405 を返し、本文を省略すると 411 が返る場合があります。create、getDefinition、updateDefinitionが 202 を返した場合は、Locationヘッダーをポーリングしてください。- ワークスペース ID と Activator ID は、一覧表示して絞り込むことで特定してください。GUID を推測してはいけません。
- リクエストが境界を越えてモードを切り替える場合は、明示的に切り替えを伝えてください。
- リファレンスは手順として扱い、成果物として扱わないでください。読んだ後は、記載されたコマンドを実際のワークスペースに対して実行し、実際の結果を報告してください。
authoringでは、ルールを作成する前に ソース検証ゲート を通過してください。また、Python のjson.dumps()を使ってReflexEntities.jsonを作成してください。PowerShell のConvertTo-Jsonは、definition.instanceに必要なネストされた JSON 文字列を破損させます。
推奨
- リクエストを満たす最も範囲の狭いモード。
- モードのリファレンスを正確に ONE つだけ読むこと。リクエストが本当に複数のモードにまたがる場合にのみ 2 つ目をロードし、そうする前にその旨を伝えてください。
authoringでは完全な置き換えではなく読み取り・変更・書き込みを行うこと。現在の定義を取得し、エンティティ配列を変更してから更新します。authoringでは、定常状態の条件よりも遷移ベースの検出器(NumberBecomes、NumberEntersOrLeavesRange、LogicalBecomes)を優先すること。ただし、値がトリガー状態のままで繰り返し発火することをユーザーが明示的に求めた場合は除きます。consumptionでは、個々のエンティティの前にサマリービューを提示すること。まず全体像を示し、その後で詳細に掘り下げます。- このセッションの以前の作業でタイムリーな運用上のシグナル(急増、障害、異常、SLA リスク、容量制約など)が明らかになった場合は、尋ねられるのを待たずにアラートを提案すること。一度だけ確認し、ユーザーが同意するまでは何も作成しないでください。
避ける
- このディスパッチャーだけに基づいて行動すること — エンティティのスキーマとテンプレートは意図的に省略されています。
- リファレンスを実行せずに、その要約で回答すること。
- 読み取り専用の
consumptionモードで何かを変更すること(「確認のためだけ」であっても含みます)。 - どちらのモードでもワークスペース ID やアイテム ID をハードコードすること — 常に動的に解決してください。
common/ドキュメントを対象にファイルシステムを glob、一覧表示、シェル検索すること。これらは任意の背景情報です。リンクが解決できない場合は、1 行でその旨を記し、そのまま続行してください。- ここでアラートに供給する Eventstream トポロジーを構築すること。それは
eventstream-cliの役割です。アラートの背後にある KQL データのクエリはeventhouse-cliの役割です。 - このスキルがすでに担っている作業に対して別のスキルをロードすること(CRITICAL NOTES 3 を参照)。
例
| ユーザーリクエスト | モード | 読むリファレンス |
|---|---|---|
| 「ワークスペースに eval_smoke_activator という名前の Activator を作成してください。」 | authoring | references/authoring.md |
| 「平均気温が 30 を超えたら Teams で通知してください。」 | authoring | references/authoring.md |
| 「パイプラインの実行失敗についてメールで通知するアラートを削除してください。」 | authoring | references/authoring.md |
| 「このワークスペース内のすべての Activator を表示してください。」 | consumption | references/consumption.md |
| 「SkillsTestActivator の背後にあるルールとアクションは何ですか?」 | consumption | references/consumption.md |
| 「この Reflex 定義をデコードし、Power BI ソースについて説明してください。」 | consumption | references/consumption.md |