eventschemaset-cli について
eventschemaset-cliは、Fabric Event Schema Setのカタログ項目を管理するコマンドラインスキルです。定義の変更と、イベントタイプやスキーマの読み取り専用確認・デコードを分けており、項目とREST操作がPreviewであることも示します。
主な機能
- 01スキーマセットの作成・名称変更・削除
- 02Event Schema Set定義の置き換え
- 03項目の一覧表示と確認
- 04定義からイベントタイプとスキーマをデコード
活用シーン
- 01イベントスキーマのカタログ項目を作成
- 02既存の定義とスキーマを確認
- 03定義の置き換えや項目の削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ skills-for-fabric --skill eventschemaset-cliインストール後、Claude Code で/eventschemaset-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
apm.ymlreferences/authoring.mdconsumption.md詳細
テレメトリ — 必須。 すべての
api.fabric.microsoft.com呼び出しにはx-ms-fabric-skill: eventschemaset-cliを含める必要があります(az restの場合は--headers "x-ms-fabric-skill=eventschemaset-cli")。 すべての LRO ポーリング、fabric_lro、リトライにも適用されます。スニペットでは省略されていますが、必ず追加してください。
重要な注意事項
- ワークスペース名からワークスペースの詳細(ID を含む)を確認するには、すべてのワークスペースを一覧表示してから、JMESPath フィルタリングを使用します。
- ワークスペース ID、アイテムの種類、アイテム名からアイテムの詳細(ID を含む)を確認するには、そのワークスペース内で該当する種類のアイテムをすべて一覧表示してから、JMESPath フィルタリングを使用します。
- スキルの使い分け:EventSchemaSet カタログアイテム(イベントの種類とメッセージスキーマ)には
eventschemaset-cliを使用します。Eventstream は別のアイテムであり、リアルタイムの取り込みとルーティングを行うパイプラインです。これにはeventstream-cliを使用します。Eventhouse/KQL Database も別のアイテムです。これにはeventhouse-cliを使用します。
Fabric Event Schema Set — CLI スキル
このスキルは Fabric Event Schema Sets を担当します。カタログの作成(作成、名前変更、定義の上書き、削除)に加え、eventTypes と schemas の読み取り専用の確認とデコードを行います。
プレビュー:Fabric の EventSchemaSet アイテムとその REST 操作は現在プレビュー段階です。動作、レスポンスの形式、利用可能性は変更される可能性があります。すべての操作は委任(ユーザー)ID のみに対応すると記載されており、サービスプリンシパルとマネージド ID は非対応とされています。ただし、アイテムはプレビュー段階のため、SP/MI でのアクセスが成功する場合もあり、テナントによって異なります。
az loginではユーザーとしてログインすることを推奨します。SP/MI で 401/403 が発生した場合は、委任されたユーザー ID に切り替えてください。
これはモードディスパッチャーであり、手順は含まれていません。以下の表からリクエストに一致するモードを選び、コマンドを 1 つでも実行する前に、ファイル読み取りツールで該当する references/<mode>.md ファイルを最初から最後まで読んでください。そのファイルにはエンドポイント、ペイロード形式、テンプレート、注意点が記載されています。読まずに操作すると、誤ったペイロードや結果につながります。
モードの選択
| モード | リクエストの内容 | トリガーの例 | 最初に読むファイル |
|---|---|---|---|
authoring | Event Schema Set の作成、名前変更/説明の変更、定義の上書き、削除(作成、更新、定義の更新、削除) | イベントスキーマセットの作成、イベントスキーマセット定義の更新、イベントスキーマセットへのイベントの種類の追加、イベントスキーマセットの名前変更、イベントスキーマセットの削除 | references/authoring.md |
consumption | Event Schema Sets の一覧表示または検索、アイテムのプロパティの確認、定義のデコードによる eventTypes と schemas の列挙 | イベントスキーマセットの一覧表示、イベントスキーマセットの確認、イベントスキーマセット定義のデコード、スキーマバージョンの取得、ビジネスイベントの一覧表示 | references/consumption.md |
モードの境界ルール
consumption では読み取り専用の呼び出し(List、Get、GetDefinition)のみ実行できます。状態を変更する操作(Create、Update、UpdateDefinition、Delete)には authoring モードが必要です。その旨を伝え、references/authoring.md を読んでから進めてください。
リクエストが実際に複数のモードにまたがる場合(例:現在の定義をデコードしてから上書きする場合)は、各処理に着手する前に、それぞれのリファレンスを読んで、1 つずつ対応してください。この表を読んでもモードを判断できない場合は、推測せず、簡潔な確認質問を 1 つしてください。
ターミナルへの書き込み -- 省略してはいけない手順
リファレンスを読んで変更を計画しただけでは、タスクは完了していません。作成モードは、状態を変更する呼び出しを1回実行して終了します。それを実行していない場合、何も永続化されていません。成功したと報告するのではなく、その旨を明示してください。
| モード | ターミナルへの書き込み |
|---|---|
authoring | 依頼された変更に対する POST .../eventSchemaSets、PATCH .../eventSchemaSets/{id}、POST .../eventSchemaSets/{id}/updateDefinition、または DELETE .../eventSchemaSets/{id}。リクエスト本文を作成してユーザーに見せるだけでは、実行したことになりません。 |
consumption | なし -- このモードは読み取り専用です。 |
Create と UpdateDefinition は 202 Accepted(LRO)を返すことがあります。Location ヘッダーを取得し、状態が Succeeded になるまでポーリングしてから成功を報告してください。リファレンスに読み戻しの手順が記載されている場合は、変更が反映されたことを証明するため、成果物を読み戻してください。
共通の基本事項(すべてのモード)
まずワークスペースとアイテムを特定してください。すべてのモードで必要です。
| タスク | リファレンス | 備考 |
|---|---|---|
| Fabric のワークスペースとアイテムの検索 | COMMON-CLI.md | 必須 -- ワークスペースまたはアイテムの ID を特定する前に読んでください |
| Fabric のトポロジと主要な概念 | COMMON-CORE.md | アイテムの種類、ワークスペース、容量 |
| 環境 URL | COMMON-CORE.md | ソブリンクラウド/パブリッククラウド以外のホスト |
| 認証とトークンの取得 | COMMON-CORE.md | オーディエンスが間違っていると 401 が発生します。認証に問題がある場合は事前に読んでください |
| 認証レシピ | COMMON-CLI.md | az login のフローとトークンの取得 |
| コアのコントロールプレーン REST API | COMMON-CORE.md | ページネーション、LRO のポーリング、レート制限 |
| 注意事項とトラブルシューティング | COMMON-CLI.md | az rest のオーディエンス、シェルのエスケープ、トークンの有効期限 |
ルール
MUST
- ほかの作業を始める前に、上の表からモードを1つだけ選択してください。
- そのモードの最初のコマンドを実行する前に、最初のツール呼び出しとして
references/<mode>.mdを最初から最後まで読んでください。一度だけ、全体をまとめて読みます。再度開いたり、もう一度 grep したり、ページを分けて読んだりしてはいけません。すでに読み込み済みです。 - 読み込みのたびに一度だけ読むルールは、読み込むほかのすべてのファイルにも適用します。
common/*.mdファイルも同様です。実際に必要なファイルだけを開き、それぞれ一度だけ最初から最後まで読み、読み込み済みのファイルを grep したり再度開いたりしてはいけません。 - ワークスペース ID とアイテム ID は、一覧表示して絞り込んで特定してください。GUID を推測してはいけません。
- 依頼がモードの境界をまたぐ場合は、モードを切り替えることを明示してください。
- 削除や上書きの操作を実行する前に確認してください。Delete は取り消せません(
?hardDelete=trueを指定)。UpdateDefinition は定義全体を置き換えます。依頼に対象アイテムが明記され、かつ削除/上書き操作も明示されている場合(例:「Event Schema Set X を削除する」、「X の定義を ... に上書きする」)は、その指示を確認とみなします。監査記録のため、解決したdisplayName+idを示したうえで、単一の書き込みを実行してください。対象または意図が曖昧な場合(例:「ワークスペースを整理して」、「最初のもの」のような対象を限定しない指示、または一括/ワイルドカード削除)のみ、個別に「はい/いいえ」の確認を取るためにいったん停止してください。 - リファレンスは手順として扱い、成果物として扱ってはいけません。読んだ後は、記載されているコマンドを実際のワークスペースに対して実行し、実際の結果を報告してください。
PREFER
- 依頼を満たす最も限定的なモードを選んでください。
- モードのリファレンスは1つだけ読むのを基本とします。依頼が複数のモードにまたがる場合に限り、2つ目を読み、その前にその旨を伝えてください。
- 委任されたユーザー ID(
az login)を使ってください。401/403 が発生した場合は、SP/MI からユーザーに切り替えてください。 - 最初の応答で選択したモードを伝え、ユーザーが訂正できるようにしてください。
避けること
- このディスパッチャーだけで操作すること -- これは意図的に運用上の詳細を省略しています。
- リファレンスを実行せずに、その要約で答えること。
- すでに読み込んだリファレンスを再読込したり、再度 grep したりすること。これはターンとトークンを消費します。
- 読み取り専用の消費モード中に何かを変更すること。
- EventSchemaSet を Eventstream や Eventhouse と混同すること (CRITICAL NOTES 3 を参照)。
例
| ユーザーのリクエスト | モード | 読み込むリファレンス |
|---|---|---|
| 「Analytics ワークスペース内のすべての Event Schema Set を一覧表示して。」 | consumption | references/consumption.md |
| 「Analytics に orders-catalog という名前の Event Schema Set を作成して。」 | authoring | references/authoring.md |
| 「orders-catalog の定義をデコードして、そのイベントタイプとスキーマを教えて。」 | consumption | references/consumption.md |
| 「orders-catalog に BusinessEventType イベント OrderPlaced (JSON) を追加して。」 | authoring | references/authoring.md |
| 「Analytics から orders-catalog-old Event Schema Set を削除して。」 | authoring | references/authoring.md |