Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A csatlakozók gépelt hozzáférést biztosítanak egy Fabric alkalmazásból más Fabric elemek adataihoz. Használj egy csatlakozót egy tóház, raktár, SQL adatbázis lekérdezésére Fabric-ben vagy szemantikai modell lekérdezésére anélkül, hogy külön adatszolgáltatást konfigurálnál.
Támogatott összekötők
Válassz egy csatlakozót az alkalmazásod által szükséges Fabric elem és működés alapján:
| Szövet elem | Összekötő típusa | Támogatott műveletek |
|---|---|---|
| Lakehouse SQL-elemzési végpont | fabric-sqlanalytics |
read |
| warehouse | fabric-warehouse |
read, create, updateés delete |
| SQL-adatbázis a Fabricben | fabric-sqldatabase |
read, create, updateés delete |
| Szemantikai modell | fabric-semanticmodel |
executeQuery |
Raktári és SQL adatbázisokhoz Fabric csatlakozókban csak azokat a műveleteket konfiguráld, amikre az alkalmazásod szüksége van. A tóház csatlakozója csak olvasható.
Prerequisites
- A
npm create @microsoft/rayfin@latestlétrehozott vagy anpx rayfin initinicializált Fabric Apps-projekt. - Egy Fabric munkaterület, amely tartalmazza azt a tárgyat, amelyhez csatlakozni szeretnél.
- Engedély a munkaterülethez és a forrás elemhez való hozzáféréshez.
- A munkaterület azonosítója és az item ID, amelyeket a Fabric URL-ben vagy a connector keresés parancs segítségével találhatsz meg.
Keress egy Fabric tárgyat
Használd connector search egy adott típusú elemek felsorolására egy munkaterületen. Az alábbi példa raktárakat sorol:
npx rayfin connector search --workspace-id <workspace-id> --type fabric-warehouse --json
Cserélje le <workspace-id> a Fabric-munkaterület azonosítóját. Ha másik támogatott elemre keressz, változtasd meg az --type értéket. Névszűrőt is hozzáadhatsz:
npx rayfin connector search "sales" --workspace-id <workspace-id> --type fabric-warehouse --json
Másold le az azonosítót a keresési eredményből.
Csatlakoztató hozzáadása
Futtasd a(z) connector add parancsot a Fabric Apps projekt gyökérkönyvtárából. A következő példa hozzáad egy csak olvasható raktárcsatlakozót, amelynek neve inventory:
npx rayfin connector add --type fabric-warehouse --workspace-id <workspace-id> --item-id <warehouse-item-id> --name inventory --operations read
Használd a megfelelő csatlakozótípust és működést más Fabric elemekhez:
# Lakehouse SQL analytics endpoint
npx rayfin connector add --type fabric-sqlanalytics --workspace-id <workspace-id> --item-id <lakehouse-item-id> --name analytics --operations read
# SQL database in Fabric
npx rayfin connector add --type fabric-sqldatabase --workspace-id <workspace-id> --item-id <sql-database-item-id> --name operational --operations read
# Semantic model
npx rayfin connector add --type fabric-semanticmodel --workspace-id <workspace-id> --item-id <semantic-model-item-id> --name salesModel --operations executeQuery
A parancs:
- Hozzáadja a csatlakozót a legfelső szintű
connectorsszakaszhoz a(z)rayfin/rayfin.ymlelemben. - Létrehozza a csatlakozó fájlokat az
rayfin/connectors/<connector-name>/alatt. - A szükséges csatlakozó csomagokhoz verzióhoz igazított
npm installparancsot nyomtat.
Futtassa pontosan a CLI által kiírt telepítési parancsot. Ez a csatlakozó csomagokat a Rayfin CLI verzióval igazítja.
Megjegyzés:
A séma felfedezése a legjobb próbálkozás. A csatlakozó akkor is hozzáadható, ha a felderítés nem fejeződik be. Ha a parancsnok felderítő figyelmeztetést jelenít meg, oldd meg azt, mielőtt a generált metadata.json fájlból definiálnád az entitásokat.
A generált konfiguráció delegált hitelesítést használ. Egy raktár- és szemantikai modellkonfiguráció a következő példára hasonlít:
connectors:
- name: inventory
type: fabric-warehouse
config:
workspaceId: "<workspace-id>"
itemId: "<warehouse-item-id>"
auth:
type: delegated
operations:
- name: read
- name: salesModel
type: fabric-semanticmodel
config:
workspaceId: "<workspace-id>"
itemId: "<semantic-model-item-id>"
auth:
type: delegated
version: "1"
operations:
- name: executeQuery
Tartsd meg a CLI által generált szemantikai modellértéket version .
Entitás-csatlakozó konfigurálása
A Lakehouse, a warehouse és az SQL adatbázis-csatlakozók a kiválasztott forrástáblákat típusozott entitásként jelenítik meg. A generált metadata.json fájlt használd arra, hogy csak azokat a táblákat és oszlopokat definiáld, amelyekre az alkalmazásod szüksége van.
A következő példa feltételezi, hogy a kiválasztott raktárban egy dbo.Order táblát tartalmaz, amelynek egy egész számú elsődleges kulcsa van OrderID elnevezve, és egy szövegoszlopot .customerEmail Ezeket az illusztráló neveket és típusokat a generált metaadatokból származó értékekre cseréljük.
Important
Ne következtess elsődleges kulcsot egy oszlop nevéből. Ha egy forrástáblának nincs kulcsa, hagyd primaryKeyki . Kulcs nélküli entitások nem támogatják azokat a műveleteket, amelyek egy sort a kulcsa alapján címeznek.
Hozd létre az entitást:
// rayfin/connectors/inventory/Order.ts
import { entity, int, text, role } from '@microsoft/rayfin-core';
import { Source } from '@microsoft/rayfin-connectors';
@role('authenticated', ['read'])
@entity()
export class Order extends Source({
schema: 'dbo',
table: 'Order',
primaryKey: ['orderId'],
}) {
@int({ column: 'OrderID' }) orderId!: number;
@text() customerEmail!: string;
}
Ezután regisztráljuk az entitást a csatlakozó sémában:
// rayfin/connectors/inventory/schema.ts
import type { GraphQLBackedConnector } from '@microsoft/rayfin-connector-fabric-graphql';
import type { ConnectorConfig } from '@microsoft/rayfin-connectors';
import { Order } from './Order.js';
export { Order } from './Order.js';
export const connectorConfig = {
connector: 'fabric-warehouse',
operations: ['read'],
entities: { Order },
} as const satisfies ConnectorConfig;
export type InventorySchema = GraphQLBackedConnector<
{ Order: typeof Order },
typeof connectorConfig
>;
Tartsd a csatlakozó nevét, séma tulajdonságát és az ügyfélkonfigurációs nevet következetesen.
Konfiguráld a csatlakozók klienszét
Adja hozzá a csatlakozósémákat a ConnectorsRayfinClient-hoz. A szemantikai modellcsatlakozókhoz a futási idő is szükséges fabricSemanticModel() :
// src/lib/connectors.ts
import { ConnectorsRayfinClient } from '@microsoft/rayfin-client';
import { fabricSemanticModel } from '@microsoft/rayfin-connector-fabric-semanticmodel';
import {
connectorConfig as inventoryConfig,
type InventorySchema,
} from '../../rayfin/connectors/inventory/schema.js';
import {
connectorConfig as salesModelConfig,
type SalesModelSchema,
} from '../../rayfin/connectors/salesModel/schema.js';
type AppConnectorsSchema = {
inventory: InventorySchema;
salesModel: SalesModelSchema;
};
export const client = new ConnectorsRayfinClient<
Record<string, never>,
Record<string, never>,
AppConnectorsSchema
>(
{
baseUrl: '<app-api-url>',
publishableKey: '<publishable-key>',
authStorage: true,
connectors: {
inventory: inventoryConfig,
salesModel: salesModelConfig,
},
},
{
salesModel: fabricSemanticModel(),
}
);
Használd az API URL-t és a publikálható kulcsot a Fabric Apps projektedből. Tartsd meg az alkalmazás meglévő bejelentkezési folyamatát. A kliens létrehozása nem jelenteti be a felhasználót.
Kapcsolt adatok lekérdezése
Miután a felhasználó bejelentkezett, érjen hozzá egy entitáscsatlakozót annak nevén és entitásán keresztül:
const orders = await client.connectors.inventory.Order
.select(['orderId', 'customerEmail'])
.first(20)
.execute();
Válasszuk ki az oszlopokat explicit, és korlátozzuk a visszaküldött sorok számát.
Egy szemantikai modellhez küldj be egy DAX lekérdezést a következőkkel executeQuery:
const result = await client.connectors.salesModel.executeQuery({
query: 'EVALUATE TOPN(10, Sales)',
});
if (result.status === 'success') {
console.log(result.table.columns, result.table.rows);
} else {
console.error(result.error.category, result.error.message);
}
Cseréld Sales le táblázatot a szemantikai modelledben. Ellenőrizd a visszaküldött státuszt, mielőtt használod az eredményt.
Biztonságos csatlakozó hozzáférés
Használd együtt ezeket a vezérlőket:
- Korlátozd a csatlakozó engedélyeit a(z)
rayfin.ymlalkalmazás számára szükséges műveletekre. - Csatolj
@rolenyilatkozatokat a csatlakozó entitásokhoz, hogy szabályozzák, mely bejelentkezett felhasználók végezhetnek el minden műveletet. - Adjon hozzá sorszintű szabályokat vagy mezők bevonására és kizárására vonatkozó szabályokat, ha a felhasználóknak csak egy entitás egy részéhez kell hozzáférést kapniuk.
- Tartsd engedélyezve az átruházott hitelesítést, hogy a csatlakozó kérések a bejelentkezett felhasználó hozzáférését használják.
Az ügyféloldali TypeScript típusok javítják a fejlesztési biztonságot, de nem minősülnek engedélyezési határoknak. A hozzáférés kikényszerítése a csatlakozó konfigurációjában és az entitásszerepkörökben.
Az összekötő üzembe helyezése
Telepítsd az alkalmazás és a csatlakozó konfigurációját:
npx rayfin up
Teszteld a telepített alkalmazást olyan felhasználóval, akinek megvannak a várt jogosultságai mind a Fabric alkalmazáson, mind a kapcsolódó terméken.