Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Liittimet mahdollistavat tyypitetyn pääsyn Fabric-sovelluksesta muiden Fabric-tuotteiden tietoihin. Käytä liitintä kysyäksesi lakehousea, varastoa, SQL-tietokantaa Fabric:ssa tai semanttista mallia ilman erillistä datapalvelua.
Tuetut liittimet
Valitse liitin Fabric-tuotteen ja sovelluksen tarvitsemien toimintojen perusteella:
| Kangas esine | Yhdistimen tyyppi | Tuetut toiminnot |
|---|---|---|
| Lakehouse SQL -analytiikan päätepiste | fabric-sqlanalytics |
read |
| varasto | fabric-warehouse |
read, create, updateja delete |
| SQL-tietokanta Fabric-tiedostossa | fabric-sqldatabase |
read, create, updateja delete |
| Semanttinen malli | fabric-semanticmodel |
executeQuery |
Varasto- ja SQL-tietokannan Fabric-liittimissä määritä vain sovelluksesi tarvitsemat toiminnot. Lakehouse-liitin on vain luku -luku.
Edellytykset
- Fabric Apps -projekti, joka on luotu
npm create @microsoft/rayfin@latest:lla tai alustettunpx rayfin init:llä. - Fabric-työtila, joka sisältää haluamasi kohteen.
- Käyttöoikeus työtilaan ja lähdekohteeseen.
- Työtilan ID ja item ID, jotka löydät Fabric-URL:stä tai käyttämällä connector-hakukomentoa.
Find a Fabric item
Käytä connector search tietyn tyyppisten esineiden listaamiseen työtilassa. Seuraava esimerkki listaa varastot:
npx rayfin connector search --workspace-id <workspace-id> --type fabric-warehouse --json
Korvaa <workspace-id> se Fabric-työtilan tunnuksellasi. Etsiäksesi toista tuettua tuotetta, vaihda arvoa --type . Voit myös lisätä nimisuodattimen:
npx rayfin connector search "sales" --workspace-id <workspace-id> --type fabric-warehouse --json
Kopioi tuotteen ID hakutuloksesta.
Yhdistimen lisääminen
Lähde connector add Fabric Apps -projektisi juurelta. Seuraava esimerkki lisää vain luku -luku -varastoliittimen nimeltä inventory:
npx rayfin connector add --type fabric-warehouse --workspace-id <workspace-id> --item-id <warehouse-item-id> --name inventory --operations read
Käytä vastaavaa liitintyyppiä ja toimintoja muille Fabric-tuotteille:
# 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
Komento:
- Lisää liittimen ylimpään
connectorsosaan .rayfin/rayfin.yml - Luo liitintiedostot alle
rayfin/connectors/<connector-name>/. - Tulostaa versionmukaisen
npm installkomennon vaadittaville liitinpaketeille.
Suorita tarkka asennuskomento, joka on tulostettu komentoketjun toimesta. Tämä pitää liitinpaketit linjassa Rayfin CLI -version kanssa.
Note
Skeeman löytäminen on paras yritys. Liittimen voi lisätä, vaikka Discovery ei valmistuisikaan. Jos komentojärjestelmä näyttää löytämisvaroituksen, ratkaise se ennen kuin määrittelet entiteettejä generoidusta metadata.json tiedostosta.
Generoitu konfiguraatio käyttää delegoitua tunnistautumista. Varasto- ja semanttinen mallikonfiguraatio muistuttaa seuraavaa esimerkkiä:
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
Säilytä CLI:n tuottama semanttinen malliarvo version .
Konfiguroi entiteettiliitin
Lakehouse-, varasto- ja SQL-tietokantaliittimet paljastavat valitut lähdetaulut tyypitettyinä entiteetteinä. Käytä luotua metadata.json tiedostoa määrittämään vain ne taulukot ja sarakkeet, joita sovelluksesi tarvitsee.
Seuraava esimerkki olettaa, että valittu varasto sisältää taulukon dbo.Order , jossa on kokonaislukuinen ensiavain nimeltä OrderID ja tekstisarake nimeltä customerEmail. Korvaa nämä havainnollistavat nimet ja tyypit arvoilla, jotka ovat peräisin luomistasi metatiedoista.
Tärkeää
Älä päättele ensisijaista avainta sarakkeen nimestä. Jos lähdetaulukossa ei ole avainta, jätä primaryKeypois . Avaimettomat entiteettit eivät tue operaatioita, jotka käsittelevät rivin avaimella.
Luo entiteetti:
// 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;
}
Rekisteröi sitten entiteetti liitinskeemaan:
// 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
>;
Pidä liittimen nimi, skeeman ominaisuus ja asiakkaan konfiguraationimi johdonmukaisina.
Konfiguroi liittimien asiakas
Lisää liitinskeemat .ConnectorsRayfinClient Semanttiset malliliittimet vaativat myös suorituksen 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(),
}
);
Käytä API-URL-osoitetta ja julkaistavaa avainta Fabric Apps -projektistasi. Pidä sovelluksen olemassa oleva kirjautumisprosessi. Asiakasohjelman luominen ei kirjaudu käyttäjää sisään.
Hae yhdistettyjä tietoja
Kun käyttäjä kirjautuu sisään, pääse käyttöön entiteettiliittimeen sen nimen ja entiteetti kautta:
const orders = await client.connectors.inventory.Order
.select(['orderId', 'customerEmail'])
.first(20)
.execute();
Valitse sarakkeet eksplisiittisesti ja rajoita palautettujen rivien määrä.
Semanttista mallia varten lähetä DAX-kysely muodossa 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);
}
Korvaa Sales se taulukolla semanttisessa mallissasi. Tarkista palautustila ennen kuin käytät tulosta.
Turvallinen liitinyhteys
Käytä näitä ohjaimia yhdessä:
- Rajoita liittimen toiminnot
rayfin.ymlsovelluksen tarvitsemiin toimintoihin. - Lisää
@roleilmoituksia liitäntäyksiköille hallitakseni, mitkä kirjautuneet käyttäjät voivat suorittaa kunkin toiminnon. - Lisää rivikäytäntöjä tai kentän sisällytys- ja poissulkemissääntöjä, kun käyttäjät tarvitsevat pääsyn vain osaan entiteettiä.
- Pidä delegoitu tunnistautuminen päällä, jotta liitäntäpyynnöt käyttävät kirjautuneen käyttäjän pääsyä.
Asiakaspuolen TypeScript-tyypit parantavat kehitysturvallisuutta, mutta ne eivät ole valtuutuksen raja. Pakota pääsy liittimen konfiguraatioon ja entiteettirooliin.
Ota liitin käyttöön
Ota käyttöön sovellus ja liitinasetukset:
npx rayfin up
Testaa käytössä oleva sovellus käyttäjällä, jolla on odotetut oikeudet sekä Fabric-sovellukseen että siihen liitetyyn kohteeseen.
Liittyvä sisältö
- Luo sovellus, joka on yhdistetty semanttiseen malliin
- Määrittele tietomallit
- Määrittele dataoikeudet
- Tunnistautuminen Fabric-sovelluksille
Ota käyttöön Fabric-sovellus Fabric - Rayfin CLI -viittaus