fabric-cli

Как использовать CLI fabric-app-data для управления подключениями к источникам данных Fabric. Поддерживайте идентификаторы рабочего пространства/элемента в файле fabric.yaml с профилями, добавляйте подключения по идентификатору…

npx skills add https://github.com/microsoft/fabric-apps-analytic-templates --skill fabric-cli

Fabric CLI — Connection Management

Overview

The fabric-app-data CLI manages Fabric data source connections in a fabric.yaml file. It supports multiple profiles (dev, staging, production) and generates TypeScript config that the @microsoft/fabric-app-data consumes at runtime.

Workflow

npx fabric-app-data init                     # 1. Create fabric.yaml
npx fabric-app-data add sales --from-url "https://app.fabric.microsoft.com/..."
                                     # 2. Add connections
npx fabric-app-data generate -o src/fabric.generated.ts
                                     # 3. Generate TypeScript config

Then in your app:

import { FabricClient } from "@microsoft/fabric-app-data";
import { fabricConfig } from "./fabric.generated.js";

const client = new FabricClient({ proxy, ...fabricConfig });

Config discovery

All commands except init walk up the directory tree from the current working directory until they find a fabric.yaml. This means you can run the CLI from any subdirectory of your project (e.g. from src/queries/ or a nested package) and it will pick up the project's root fabric.yaml automatically.

init is the exception — it always writes fabric.yaml to the current working directory, so run it from the project root.

Commands

npx fabric-app-data init

Create a new fabric.yaml in the current directory.

npx fabric-app-data init                    # default "dev" profile
npx fabric-app-data init -p production      # custom profile name
npx fabric-app-data init --force            # overwrite existing

npx fabric-app-data add

Add a connection to a profile. Two modes:

From Fabric portal URL (preferred):

npx fabric-app-data add <alias> --from-url "<Fabric portal URL>"

Explicit IDs:

npx fabric-app-data add semanticModel <alias> -w <workspaceId> -i <itemId>

Important: Use exactly these flag names. The short flags are -w and -i. The long flags are --workspace and --item. Do NOT use --workspace-id or --item-id — those do not exist.

The URL parser extracts workspace ID, item ID, and type automatically. Supported URL segments: semanticmodels, modeling, lakehouses, warehouses. "me" is accepted as workspace ID for My Workspace items.

Options:

  • -p, --profile <name> — target profile (defaults to active)

npx fabric-app-data remove <alias>

Remove a connection by alias.

npx fabric-app-data remove sales
npx fabric-app-data remove sales -p staging

npx fabric-app-data list

List all connections in a profile.

npx fabric-app-data list
npx fabric-app-data list -p production

npx fabric-app-data use <profile>

Switch the active profile and auto-regenerate the config file.

npx fabric-app-data use production
npx fabric-app-data use staging -o src/config/fabric.generated.ts

npx fabric-app-data generate

Generate fabric.generated.ts from the active profile.

npx fabric-app-data generate
npx fabric-app-data generate -o src/fabric.generated.ts
npx fabric-app-data generate -p production

npx fabric-app-data query

Execute a DAX query against a semantic model using the same SDK pipeline as the running app. Aliases: execute, exec.

npx fabric-app-data query <alias> --query '<DAX>'
npx fabric-app-data query <alias> --file src/queries/revenue.dax
npx fabric-app-data query semanticModel <alias> --query '<DAX>'  # explicit source type
npx fabric-app-data query <alias> --query '<DAX>' --limit 50     # return at most 50 rows
npx fabric-app-data query <alias> --query '<DAX>' --profile staging

Options:

  • -q, --query <query> — inline DAX query text
  • -f, --file <path> — path to a .dax file (alternative to --query)
  • -l, --limit <rows> — maximum rows to return (default: 1000, max: 1000)
  • -p, --profile <name> — profile name (defaults to activeProfile)

Result trimming: By default, results are capped at 1000 rows to keep output manageable. When the result is trimmed, the JSON output includes a _cliWarning field indicating how many rows were returned out of the total. This is a CLI-only limitation — the full dataset is available in the running app. If more rows are needed, refine the DAX query with filters or aggregations instead.

fabric.yaml Structure

activeProfile: dev
profiles:
  dev:
    semanticModels:
      sales:
        workspaceId: "00c98f7c-..."
        itemId: "03f2dc11-..."
      myModel:
        workspaceId: "me"
        itemId: "c078a68d-..."
  production:
    semanticModels:
      sales:
        workspaceId: "aabbccdd-..."
        itemId: "11223344-..."

Generated Output

fabric.generated.ts exports a plain config object:

// fabric.generated.ts — AUTO-GENERATED from fabric.yaml (profile: dev). Do not edit.

export const fabricConfig = {
  semanticModels: {
    sales: {
      workspaceId: '00c98f7c-...',
      itemId: '03f2dc11-...',
    },
  },
} as const;

Add fabric.generated.ts to .gitignore — regenerate from fabric.yaml as needed.

Больше skills от microsoft

oss-growth
microsoft
Персона OSS-хакера роста
official
accessibility-aria-expert
microsoft
Обнаруживает и исправляет проблемы доступности в веб-представлениях React/Fluent UI. Используйте при проверке кода на совместимость с экранными дикторами, исправлении ARIA-меток, обеспечении…
official
generate-canvas-app
microsoft
[УСТАРЕЛО — используйте canvas-app] Создать полное приложение Power Apps canvas.
official
django
microsoft
Лучшие практики веб-разработки на Django, включая модели, представления, шаблоны и тестирование.
official
github-issue-creator
microsoft
Преобразует сырые заметки, журналы ошибок, голосовой ввод или скриншоты в четкие отчеты о проблемах в формате GitHub-flavored markdown. Используется, когда пользователь вставляет информацию об ошибке, сообщение об ошибке…
official
python-package-management
microsoft
Использует uv для управления зависимостями и poethepoet для автоматизации задач.
official
runtime-validation
microsoft
Проверка во время выполнения для перенесённых приложений — охватывает стратегию тестирования (этап планирования) и выполнение тестов (этап валидации): проверка запуска,…
official
azure-postgres-ts
microsoft
Подключение к Azure Database for PostgreSQL Flexible Server с использованием пакета pg (node-postgres) с поддержкой аутентификации по паролю и Microsoft Entra ID (без пароля).
official