fabric-cli-core について
Fabric CLI(`fab`)を使って Microsoft Fabric を安全かつ一貫して操作するための、AI エージェント向けスキルです。エンティティのパス、認証、機密データの扱いに加え、事前確認、トラブルシューティング、コマンド検証の規則を示します。
主な機能
- 01Fabric のパスとエンティティ階層を説明
- 02対話モードとコマンドラインモードの選択を案内
- 03認証と機密データの取り扱いを規定
- 04隠しエンティティの確認方法を記載
- 05安全な実行と検証の手順を定義
活用シーン
- 01CLI 認証とワークスペース接続の確認
- 02ワークスペース内の Fabric アイテムの特定
- 03CLI 操作の安全な実行と検証
- 04Fabric コマンドエラーのトラブルシューティング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ microsoft/ fabric-cli --skill fabric-cli-coreインストール後、Claude Code で/fabric-cli-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/create-workspaces.mdfab-api.mdnotebooks.mdquerying-data.mdquickstart.mdreference.mdreports.mdsemantic-models.mdworkspaces.mdscripts/health_check.py詳細
Fabric CLI Core
このスキルは、AI エージェントが Fabric CLI(fab) を介して Microsoft Fabric を操作する際の、安全で一貫したデフォルト設定を定義します。
1 - Fabric CLI のメンタルモデル(パスとエンティティ)
自動化スクリプト
主要な CLI タスク向けのすぐに使える Python スクリプトです。各スクリプトに --help を付けて実行すると、すべてのオプションを確認できます。
| スクリプト | 目的 | 使用方法 |
|---|---|---|
health_check.py | CLI のインストール状況、認証状態、接続状況を確認する | python scripts/health_check.py [--workspace WS] |
スクリプトは、このスキルの scripts/ フォルダーにあります。
パスとエンティティ
- Fabric は、パスに一貫した ドット(.)形式のエンティティ接尾辞(例:
.Workspace、.Folder、.SemanticModel)を使う、ファイルシステムのような階層構造として扱います。 - 階層構造は次のとおりです。
- テナント:すべてを格納する最上位のコンテナーです。
- ワークスペース:フォルダー、アイテム、ワークスペースレベルの要素を格納する、個人用またはチーム用のワークスペースです。
- フォルダー:ワークスペース内のアイテムを整理するためのコンテナーです(約 10 階層のネストに対応します)。
- アイテム:ワークスペースまたはフォルダー内の個別のリソースです(例:Notebook、SemanticModel、Lakehouse)。
- OneLakeItem:Lakehouse 内にある OneLake ストレージアイテムです(テーブル、ファイルなど)。
- 次のようなパスを優先して生成します。
/Workspace1.Workspace/Notebook1.Notebook/Workspace1.Workspace/FolderA.Folder/SemanticModel1.SemanticModel/Workspace1.Workspace/FolderA.Folder/lh1.Lakehouse/Tables(OneLakeItem)
- ユーザーが曖昧な識別子を指定した場合は、完全なパスを尋ねます(または、明示した前提に基づいて推測します)。
2 - モード(対話モードとコマンドラインモード)
- ユーザーがどちらのモードを使っているかを明確にします。
- 対話モードは REPL のように動作し、
fabプレフィックスなしでコマンドを実行します。 - コマンドラインモードは呼び出しごとに 1 つのコマンドを実行し、スクリプトや自動化に最適です。
- 対話モードは REPL のように動作し、
- 選択したモードはセッション間で保持されます。ユーザーが終了して再度ログインすると、CLI は最後に使用したモードで再開します。
- 手順を提示する際は、ユーザーが対話モードを使用していると言わない限り、コマンドラインモードのコマンドを示します。
3 - 認証(公開しても安全なガイダンス)
- 次の認証パターンを優先し、新たなフローを独自に作らないでください。
- 対話型ユーザー:
fab auth login(対応環境ではブラウザー/WAM を使用します)。 - サービスプリンシパル(シークレット/証明書):環境変数や安全な仕組みを使用し、ファイルへのシークレットの埋め込みは避けます。
- サービスプリンシパル(フェデレーション資格情報):フェデレーショントークン環境変数(
FAB_SPN_FEDERATED_TOKEN)を使用し、未加工のトークンを永続化しないでください。 - マネージド ID:Azure でホストされるワークロードでサポートされます。資格情報は不要です。
- 対話型ユーザー:
- ユーザーにシークレットをチャットに貼り付けたり、再度表示したりするよう求めないでください。
4 - 機密データの取り扱い(厳守)
- トークン、パスワード、クライアントシークレット、未加工のフェデレーショントークンをログに記録したり出力したりしないでください。
- セキュリティに影響する可能性のあるユーザー入力をすべて検証します。
- パス:ファイルパスと API パラメーターをサニタイズします。
- GUID:使用前にリソース識別子を検証します。
- JSON:JSON 入力の形式が正しいことを検証します。
- ユーザーが機密文字列を共有した場合は、それらをローテーションまたは再生成し、安全なストレージに移すよう助言します。
5 - 非表示エンティティと検出
- 非表示エンティティは、通常は表示されない特別なリソースで、ドットで始まる命名規則(UNIX の隠しファイルに類似)に従います。
- テナントレベルの非表示エンティティ(ルートからアクセス):
.capacities—fab ls .capacities/fab get .capacities/<name>.Capacity.gateways—fab ls .gateways/fab get .gateways/<name>.Gateway.connections—fab ls .connections/fab get .connections/<name>.Connection.domains—fab ls .domains/fab get .domains/<name>.Domain
- ワークスペースレベルの非表示エンティティ(ワークスペース内からアクセス):
.managedidentities—fab ls ws1.Workspace/.managedidentities.managedprivateendpoints—fab ls ws1.Workspace/.managedprivateendpoints.externaldatashares—fab ls ws1.Workspace/.externaldatashares.sparkpools—fab ls ws1.Workspace/.sparkpools
- 非表示リソースを表示するには、
ls -a/ls --allを推奨します。
6 - エラーとトラブルシューティングのガイダンス
- 失敗について説明するときは、次の内容を含めてください。
- コマンドが実行しようとしていた内容
- 考えられる原因
- 次に実行できる具体的な手順
- CLI にエラーコード/メッセージが表示された場合は、そのまま保持し、重要な識別子を言い換えて失わないようにしてください。(Fabric CLI では、安定したエラーコード/メッセージが重視されます。)
- API エラーのデバッグに役立つよう、取得できる場合はリクエスト ID を含めてください。
7 - エージェントの出力規約
- 簡潔で実行可能な手順を基本とします。
- コマンドを推奨するときは、次の内容を含めてください。
- 前提条件(認証、正しいワークスペース/パス)
- 期待される結果
- 確認方法(例:後続の
fab ls/fab get)
8 - 安全性のデフォルト設定
- 削除、上書き、またはアクセス権/権限の変更を行うコマンドを提案する前に、確認してください。
- ユーザーが明示的に承認した場合は、可能であれば明確なロールバックの注記を添えて進めてください。
9 - プラットフォームとトラブルシューティングのリファレンス
- サポート対象プラットフォーム:Windows、Linux、macOS。
- サポート対象シェル:zsh、bash、PowerShell、cmd(Windows コマンドプロンプト)。
- Python バージョン:3.10、3.11、3.12、3.13、3.14。
- CLI ファイルストレージ(トラブルシューティングに便利):
- 設定ファイルは
~/.config/fab/に保存されます。cache.bin— 暗号化された認証トークンキャッシュconfig.json— 機密情報を含まない CLI 設定auth.json— 機密情報を含まない認証情報context-<session_id>— コマンドラインモードのセッション用パスコンテキスト
- デバッグログの出力先:
- Windows:
%AppData%/fabcli_debug.log - macOS:
~/Library/Logs/fabcli_debug.log - Linux:
~/.local/state/fabcli_debug.log
- Windows:
- 設定ファイルは
10 - 重要な運用ルール
- 初回実行:コマンドを実行する前に、必ず
fab auth statusを実行して認証状態を確認してください。未認証の場合は、ユーザーにfab auth loginの実行を依頼してください。 - 実行前に確認:コマンドを初めて使用するときは、必ず
fab --helpとfab <command> --helpを使って構文を確認してください。 - まずはシンプルに:パイプやコマンドの連結を試す前に、まず基本の
fabコマンドだけを実行してください。 - 非対話モード:コーディングエージェントで作業する場合は、コマンドラインモードで
fabを使用してください。対話モードは自動化では動作しません。 - 強制フラグ:非対話で実行するためのフラグが利用できる場合は、コマンドの実行時に
-fを使用してください(確認プロンプトを省略します)。 - 実行前に確認:ワークスペース名または項目名が不明確な場合は、まずユーザーに確認してから、
fab lsまたはfab existsで検証してください。 - 権限エラー:コマンドが権限によってブロックされた場合は停止し、ユーザーに確認してください。決して回避しようとしないでください。
11 - 一般的なアイテムの種類
| 拡張子 | 説明 |
|---|---|
.Workspace | ワークスペースコンテナー |
.Folder | ワークスペース内のフォルダー |
.SemanticModel | Power BI データセット/セマンティックモデル |
.Report | Power BI レポート |
.Dashboard | Power BI ダッシュボード |
.Notebook | Fabric ノートブック |
.Lakehouse | レイクハウス |
.Warehouse | データウェアハウス |
.DataPipeline | データパイプライン |
.SparkJobDefinition | Spark ジョブ定義 |
.Eventstream | リアルタイムイベントストリーム |
.KQLDatabase | KQL データベース |
.MLModel | ML モデル |
.MLExperiment | ML 実験 |
.Capacity | Fabric キャパシティ(非表示) |
.Gateway | データゲートウェイ(非表示) |
.Connection | 接続(非表示) |
fab desc .<ItemType> を使用して、任意のアイテムの種類を確認できます。
12 - コマンドリファレンス
コマンドの構文と実用例の詳細については、以下を参照してください。
- クイックスタートガイド — よくあるタスクのコピー&ペースト可能な例
- コマンドリファレンス全文 — フラグとパターンを含むすべてのコマンド
- セマンティックモデル — TMDL、DAX クエリ、更新、ストレージモード
- ノートブック — ジョブの実行、パラメーター、スケジュール設定
- レポート — エクスポート、インポート、モデルへの再バインド
- ワークスペース — 作成、管理、アクセス許可
- データのクエリ — DAX とレイクハウステーブルのクエリ
- API リファレンス — REST API への直接アクセスパターン
- ワークスペースの作成 — ワークスペース作成のワークフロー
コメント
Markdown 対応