Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A GraphQL-hez készült Fabric API grafikus, böngészőn belüli GraphQL-fejlesztési környezetet biztosít, amely lehetővé teszi, hogy egy interaktív játszótér a GraphQL-lekérdezések és -mutációk élő eredményeit írja, tesztelje és tekintse meg.
Ki használja a GraphQL-szerkesztőt?
A GraphQL-szerkesztő nélkülözhetetlen a következő célokhoz:
- Az alkalmazásfejlesztők lekérdezéseket fejlesztenek ki és tesztelnek a Fabric-adatokon, mielőtt implementálják őket az alkalmazásokban
- Adatmérnökök a Lakehouse és a Warehouse adatstruktúráinak feltárásával és a GraphQL-sématervek érvényesítésével
- Fabric munkaterület közreműködői adathozzáférési engedélyek tesztelése és lekérdezési hibák elhárítása
- A BI-fejlesztők megismerik az API-struktúrát, és adathozzáférési mintákat hoznak létre egyéni alkalmazásokhoz
- A Fabric-munkaterületeken a lekérdezésfejlesztéssel és az adathozzáférési problémák elhárításával együttműködő fejlesztői csapatok
Használja a szerkesztőt, amikor a GraphQL-lekérdezések interaktív fejlesztésére, tesztelésére vagy hibakeresésére van szüksége a Fabric-adatforrások alapján.
A GraphQL-szerkesztő használatának első lépései
A GraphQL-szerkesztő használatának megkezdéséhez kövesse az alábbi lépéseket:
Nyissa meg a GraphQL API-elemet – Lépjen a munkaterületre a Fabricben, és nyissa meg a GraphQL-hez készült API-t.
Hozzáférés a szerkesztőhöz – A lekérdezés kiválasztása a portál képernyőjének bal alsó sarkában.
Írja meg a lekérdezést – Írja be a GraphQL-lekérdezéseket közvetlenül a Lekérdezés lapra. Használja az Intellisense billentyűparancsait:
- Windows: CTRL + Szóköz
- macOS: Command + Space
A lekérdezés végrehajtása – Válassza a Futtatás lehetőséget a lekérdezés végrehajtásához és az adatforrás adatainak lekéréséhez.
Kód létrehozása
Az API-szerkesztő automatikusan létrehoz egy python- vagy Node.js kódot, amely tükrözi a szerkesztőben jelenleg tesztelt GraphQL-lekérdezést vagy -mutációt. A lekérdezések prototípusának és finomításának során a létrehozott kód ennek megfelelően frissül. Ha elégedett az eredménnyel, megtekintheti és másolhatja a létrehozott kódot, hogy helyileg fusson tesztelési célokra, vagy újra felhasználhatja azt az alkalmazásfejlesztési folyamatban.
Fontos
A létrehozott kód interaktív böngészőbeli hitelesítő adatokat használ, és csak tesztelési célokra használható. Éles környezetben mindig regisztráljon egy alkalmazást a Microsoft Entra-ban, és használja a megfelelő client_id és hatóköröket. Az Connect Applications oldalon találhat egy teljes körű példát mintakóddal.
Első lépések:
Lekérdezés írása – Adja meg a következő minta lekérdezést (vagy sajátját) a Lekérdezésszerkesztőben:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Futtassa a lekérdezést – Válassza a Futtatás lehetőséget a lekérdezés végrehajtásához, és a folytatás előtt ellenőrizze, hogy megfelelően működik-e a szerkesztőben.
Kód létrehozása – Válassza a Kód létrehozása gombot, majd válassza ki a kívánt programozási nyelvet (Python vagy JavaScript/Node.JS):
Ezután átmásolhatja a létrehozott kódot, és fájlként mentheti egy helyi mappába. A választott nyelvtől függően kövesse az alábbi gyors lépéseket a helyi teszteléshez:
Python
Hozzon létre egy elnevezett
editor.pyfájlt, és illessze be a létrehozott kódot a fenti példa lekérdezésből.Hozzon létre egy virtuális környezetet a parancs futtatásával
python -m venv .venv.Aktiválja a
venvkövetkezőt: futtatás.venv\Scripts\activatevagysource .venv/bin/activate.Telepítse a szükséges függőséget a futtatással
pip install azure-identity.Hajtsa végre a kódot a következővel
python editor.py: .A rendszer arra kéri, hogy jelentkezzen be egy böngészőablakban a kérés hitelesítéséhez.
Az API válasza a konzolon lesz kinyomtatva.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Node.JS
Hozzon létre egy elnevezett
editor.jsfájlt, és illessze be a létrehozott kódot a fenti példa lekérdezésből.Ugyanabban a mappában
editor.jshozzon létre egypackage.jsonfájlt, amely a következő tartalommal rendelkezik:{ "type": "module", "dependencies": {} }Node.js telepítése a fejlesztőgépre (az npm-et is beleértve)
Futtassa
npm install @azure/identityvagy hasonló parancsot a kiválasztott csomagkezelőben az identitástár legújabb verziójának telepítéséhez.A kód futtatásához használja a
node editor.jsparancsot.A rendszer arra kéri, hogy jelentkezzen be egy böngészőablakban a kérés hitelesítéséhez.
Az API válasza a konzolon lesz kinyomtatva.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Lekérdezések és mutációk fejlesztése
Az alábbi példák a GraphQL-lekérdezést és a mutáció szintaxisát mutatják be az AdventureWorks-mintaadatok használatával. Ezek a példák feltételezik, hogy írási műveleteket (mutációkat) támogató Fabric-adattárházzal dolgozik. Az SQL Analytics-végpontokon (például Lakehouse-okon és tükrözött adatbázisokon) keresztül elért adatforrások írásvédettek, és csak a lekérdezéseket támogatják, nem a mutációkat.
Tekintse át ezt a rövid GraphQL-sémarészletet az AdventureWorksből. Egy olyan típust Product határoz meg, amely lekérdezéseket tartalmaz egyetlen termék olvasásához vagy az összes termék listázásához, valamint a termékek létrehozásához, frissítéséhez vagy törléséhez szükséges mutációkat, amelyek támogatják az összes CRUDL-használati esetet (létrehozás, olvasás, frissítés, törlés, lista).
{
type Product {
ProductID: Int!
Name: String!
ProductNumber: String!
Color: String
ListPrice: Float!
SellStartDate: DateTime!
}
type Query {
products(first: Int, filter: ProductFilterInput): ProductConnection
products_by_pk(ProductID: Int!): Product
}
type Mutation {
createProduct(Name: String!, ProductNumber: String!, ListPrice: Float!, SellStartDate: DateTime!): Product
updateProduct(ProductID: Int!, Name: String, Color: String, ListPrice: Float): Product
deleteProduct(ProductID: Int!): Boolean
}
}
Olvassa el a GraphQL-en keresztül közzétett adatokat a sémában definiált lekérdezések használatával. A products_by_pk lekérdezés egyetlen terméket kér le az elsődleges kulcsával:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Válasz:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Használjon mutációkat, például createProduct adatokat írjon, és hozzon létre egy új terméket a szükséges paraméterekkel.
mutation MyMutation {
createProduct(
Name: "Mountain Bike Helmet - Blue",
ProductNumber: "HE-M897-B",
ListPrice: 89.99,
SellStartDate: "2025-01-01T00:00:00Z"
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Válasz:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Lekérdezési változók
A Lekérdezés lap jobb oldalán található Lekérdezés változók panel használatával paramétereket adhat át változóként a lekérdezéseknek vagy mutációknak. A változók más programozási nyelvek változóihoz hasonlóan működnek. A rendszer minden változót egy névvel deklarál, amely a benne tárolt érték elérésére szolgál. Az előző mutációs példát használva kissé módosítja azt a lekérdezési változók használatára.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Változók definiálása a Lekérdezés változók panelen az alábbi példával.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
A változók tisztábbá teszik a mutációs kódot, könnyebben olvashatók, tesztelhetők és módosíthatók. Emellett a változók módosításával egyszerűen újra felhasználhatja ugyanazt a mutációt különböző értékekkel.