Megosztás a következőn keresztül:


GraphQL az Azure platformon JavaScript-fejlesztőknek

A GraphQL segítségével a JavaScript-alkalmazások egyetlen kéréssel pontosan lekérhetik a szükséges adatokat. Ez a cikk bemutatja, hogy mi a GraphQL, miért érdemes használni, és hogy az Azure-szolgáltatások hogyan segíthetnek a GraphQL-alkalmazások minimális erőfeszítéssel történő összeállításában. Akár meglévő GraphQL-alkalmazást migrál, akár újat hoz létre, az Azure eszközöket és szolgáltatásokat biztosít a folyamat egyszerűsítéséhez.

Mi az a GraphQL?

A GraphQL egy modern módja annak, hogy a webalkalmazás kommunikáljon a kiszolgálókkal és az adatbázisokkal. Gondoljon rá úgy, mint egy intelligensebb módszer arra, hogy pontosan a szükséges információkat kérje:

  • Ez olyan, mint egy egyéni étkezés megrendelése a rögzített menü elfogadása helyett – pontosan azt kérdezi, amit szeretne
  • Jól működik JavaScript-alkalmazásokkal, például React, Vue vagy Angular
  • Ez felgyorsíthatja és egyszerűbbé teheti a webalkalmazások létrehozását

Ahelyett, hogy több kérést küldenél a különböző kiszolgálóvégpontokra (például a hagyományos REST API-khoz – a legtöbb webszolgáltatás szokásos kommunikációjához), a GraphQL lehetővé teszi, hogy egyetlen pontos kérést küldjön az összes szükséges adat lekéréséhez.

Miért használnám a GraphQL-t a webalkalmazásomban?

A GraphQL három fő módon teszi jobbá JavaScript-alkalmazásait:

  • Pontosan azt kapja meg, amire szüksége van: Az alkalmazás csak azokat az adatokat kérheti le, amelyekre most szüksége van – nem több, nem kevesebb. Ez olyan, mintha egy büfébe mennél, és csak azt vennéd el, amit meg fogsz enni, ahelyett, hogy egy óriási rögzített menüt kapnál, ahol a legtöbb veszendőbe megy. Ez felgyorsítja az alkalmazást, mivel kevesebb adatot tölt le.

  • Egy kérés a sok helyett: Több helyről szeretne információt? AHelyett, hogy 5 különböző kérést küldenél 5 különböző végpontra, a GraphQL lehetővé teszi, hogy csak egy kérést intézz mindenhez. Ez olyan, mintha egy személy helyetted összegyűjti az összes bevásárlást, ahelyett, hogy öt különböző üzletbe járnál.

  • Kevesebb hiba a jobb eszközökkel: A GraphQL olyan eszközökkel rendelkezik, amelyek segítenek a hibák elhárításában a kódolás során, nem pedig az alkalmazás futtatásakor. Ez olyan, mintha helyesírás-ellenőrzést végeznél, amely beírás közben működik ahelyett, hogy elírásokat fedeznél fel a dokumentum közzététele után.

A GraphQL- és JavaScript-alapú buildek készítésekor valószínűleg az alábbi népszerű eszközök egyikét fogja használni:

  • Apolló ügyfél: A leggyakrabban használt GraphQL-ügyfél, amely a React, a Vue, az Angular és az egyszerű JavaScript használatával működik.
  • URQL: Egy könnyű alternatíva jó teljesítménnyel.
  • Relay: A Facebook hozta létre (aki a GraphQL-t is létrehozta), a legjobb a nagy React-alkalmazásokhoz.

Azure-szolgáltatások GraphQL-alkalmazásokhoz

Válassza ki a megközelítést az adott forgatókönyv alapján:

Ha szeretnéd... Akkor ezt kellene tenned... Ezen Azure-szolgáltatások használata
Meglévő GraphQL-alkalmazás használata az Azure-ban Az alkalmazás üzembe helyezése a kód módosítása nélkül Azure App Service vagy Azure Container Apps
GraphQL hozzáadása a meglévő adatokhoz GraphQL-végpontok létrehozása az adatokhoz minimális kódolással Adat API Építő
GraphQL API-réteg létrehozása Egységes GraphQL-felület létrehozása meglévő API-kon keresztül Az Azure API Management GraphQL általi átalakítással

GraphQL-alkalmazások üzemeltetése az Azure-on

A létrehozott alkalmazás típusától függően néhány jó lehetőség közül választhat:

  • App Service: Ez olyan, mint egy hagyományos web hosting szolgáltatás, de extra funkciókkal. A legtöbb olyan JavaScript-alkalmazáshoz kiválóan alkalmas, amelyeknek kiszolgálóra van szükségük.

  • Tárolóalkalmazások: Ha az alkalmazás tárolókba van csomagolva (például Docker), ez a szolgáltatás megkönnyíti a futtatást és a skálázást.

Adattárolás GraphQL-alkalmazásokhoz

A GraphQL-nek csatlakoznia kell az adatokhoz. Az Azure többféleképpen is megteheti ezt:

  • Alakítsa az adatbázist GraphQL API-vá: Az "Adat API builder" eszköz automatikusan létrehozhat egy GraphQL-végpontot (egy URL-címet, ahol az alkalmazás GraphQL-kéréseket küldhet) a meglévő adatbázisból – nincs szükség kódolásra!

  • Az adatok tárolása: Az Azure különböző igényeknek megfelelő adatbázisokat kínál:

    • SQL Database: Hagyományos táblaalapú adatokhoz
    • Cosmos DB: Rugalmas, méretezhető adattároláshoz merev sémák nélkül

GraphQL-alkalmazások biztonságossá tétele

  • Felhasználói bejelentkezés és biztonság: Az Azure Identity platformja segít bejelentkezési funkciókat hozzáadni az alkalmazáshoz, hogy csak a megfelelő személyek férhessenek hozzá a GraphQL-adatokhoz.
  • Szerepköralapú hozzáférés: Pontosan szabályozhatja, hogy mely felhasználók kérdezhetnek le vagy módosíthatnak adatokat a GraphQL-végpontokon keresztül.
  • API-védelem: Sebességkorlátozás és monitorozás hozzáadása a GraphQL API-kkal való visszaélés megakadályozása érdekében.

GraphQL API-k létrehozása a meglévő adatokhoz

Már rendelkezik adatokkal az Azure-ban, és szeretné elérni őket a GraphQL-lel? Ennek egyszerű módjai vannak:

  • API Management: Ez a szolgáltatás létrehozhat egy GraphQL-réteget a meglévő API-k vagy adatforrások előtt. Ez olyan, mintha GraphQL-fordítót adnék hozzá olyan rendszerekhez, amelyek nem beszélik natív módon a GraphQL-t.

  • Data API Builder: Ez az eszköz automatikusan létrehoz GraphQL-végpontokat az adatbázisokból. Ez a leggyorsabb módja a GraphQL hozzáadásának a meglévő adatokhoz – csak mutasson rá az adatbázisra, és elvégzi a munkát.

Egy egyszerű példa: GraphQL API létrehozása termékadatbázishoz

A folyamat működése egyszerű:

  1. Rendelkezik egy termékinformációkat tartalmazó adatbázissal (nevek, árak, leírások)
  2. Az adatok API Builderét beállítja az adatbázisához való csatlakozáshoz.
  3. A Data API Builder automatikusan létrehoz egy GraphQL-végpontot
  4. A JavaScript-alkalmazás mostantól az alábbihoz hasonló GraphQL-lekérdezéseket végezhet:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Ez a lekérdezés az összes terméket 50 usd alatt jeleníti meg, csak a nevüket, az árakat és a leírásokat.

Az első lépésekhez szükséges erőforrások

Ha többet szeretne megtudni, vagy elkezdi a GraphQL használatát az Azure-ban, íme néhány hasznos forrás:

Következő lépések