Sdílet prostřednictvím


GraphQL v Azure pro vývojáře v JavaScriptu

GraphQL pomáhá vašim javascriptovým aplikacím načítat přesně data, která potřebují, s jediným požadavkem. Tento článek vysvětluje, co je GraphQL, proč ho můžete používat a jak vám služby Azure můžou pomoct s vytvářením aplikací GraphQL s minimálním úsilím. Ať už migrujete existující aplikaci GraphQL nebo vytváříte novou aplikaci, Azure poskytuje nástroje a služby pro zjednodušení procesu.

Co je GraphQL?

GraphQL je moderní způsob, jak vaše webová aplikace komunikovat se servery a databázemi. Představte si ji jako chytřejší způsob, jak si vyžádat přesně ty informace, které potřebujete:

  • Je to jako objednání vlastního jídla místo přijetí pevného menu - požadujete přesně to, co chcete.
  • Funguje dobře s javascriptovými aplikacemi, jako jsou React, Vue nebo Angular.
  • Může urychlit a usnadnit sestavování webových aplikací.

Místo vytváření více požadavků na různé koncové body serveru (jako u tradičních rozhraní REST API – standardní způsob komunikace většiny webových služeb) vám GraphQL umožňuje vytvořit jeden přesný požadavek, abyste získali všechna potřebná data.

Proč chci ve webové aplikaci používat GraphQL?

GraphQL usnadňuje vaše javascriptové aplikace třemi hlavními způsoby:

  • Získejte přesně to, co potřebujete: Vaše aplikace může požádat jenom o data, která právě potřebuje – už žádné další, ne méně. To je jako jít do bufetu a vzít si jen to, co chcete jíst, místo aby vám byl servírován obří uzavřené menu, kde se většina vyhazuje. Díky tomu je vaše aplikace rychlejší, protože stahuje méně dat.

  • Jeden požadavek místo mnoha: Potřebujete informace z více míst? Místo 5 různých požadavků na 5 různých koncových bodů vám GraphQL umožňuje vytvořit jenom jeden požadavek, abyste získali všechno. Je to jako mít jednu osobu shromáždit všechny vaše nákupy místo toho, abyste chodili do pěti různých obchodů.

  • Méně chyb s lepšími nástroji: GraphQL obsahuje nástroje, které pomáhají zachytit chyby při psaní kódu místo toho, když je aplikace spuštěná. Je to jako kontrola pravopisu, která funguje při psaní, a ne zjišťování překlepů po publikování dokumentu.

Při sestavování pomocí GraphQL a JavaScriptu budete pravděpodobně používat jeden z těchto oblíbených nástrojů:

  • Klient Apollo: Nejčastěji používaný klient GraphQL, který funguje s React, Vue, Angular a prostým JavaScriptem.
  • URQL: Lehká alternativa s dobrým výkonem.
  • Relay: Vytvořil ho Facebook (který také vytvořil GraphQL), a je nejlepší pro velké aplikace v Reactu.

Služby Azure pro aplikace GraphQL

Zvolte svůj přístup na základě konkrétního scénáře:

Pokud chcete... Pak byste měli... Používání těchto služeb Azure
Přenesení existující aplikace GraphQL do Azure Nasazení aplikace beze změny kódu Azure App Service nebo Azure Container Apps
Přidání GraphQL do existujících dat Vytváření koncových bodů GraphQL pro data s minimálním kódováním Tvůrce rozhraní Data API
Vytvoření vrstvy rozhraní GraphQL API Vytvoření sjednoceného rozhraní GraphQL přes existující rozhraní API Azure API Management s funkcí transformace GraphQL

Hostování aplikací GraphQL v Azure

V závislosti na typu aplikace, kterou vytváříte, máte několik dobrých možností:

  • App Service: Jedná se o tradiční webhostingovou službu, ale s dalšími funkcemi. Je skvělá pro většinu javascriptových aplikací, které potřebují server.

  • Kontejnerové aplikace: Pokud je vaše aplikace zabalená do kontejnerů (jako Je Docker), tato služba usnadňuje spouštění a škálování.

Úložiště dat pro aplikace GraphQL

GraphQL se musí připojit k vašim datům. Azure nabízí několik způsobů, jak to udělat:

  • Převod databáze na rozhraní GraphQL API: Nástroj Tvůrce rozhraní API pro data může automaticky vytvořit koncový bod GraphQL (adresu URL, kde může aplikace odesílat požadavky GraphQL) z vaší stávající databáze – nevyžaduje se kódování.

  • Ukládání dat: Azure nabízí databáze pro různé potřeby:

    • SQL Database: Pro tradiční data založená na tabulce
    • Cosmos DB: Flexibilní škálovatelné úložiště dat bez pevných schémat

Zabezpečení aplikací GraphQL

  • Přihlášení a zabezpečení uživatelů: Platforma Identit Azure pomáhá přidávat do aplikace funkce přihlášení, aby k datům GraphQL měli přístup jenom ti správní lidé.
  • Přístup na základě role: Umožňuje přesně určit, kteří uživatelé můžou dotazovat nebo upravovat data prostřednictvím koncových bodů GraphQL.
  • Ochrana rozhraní API: Přidejte omezení rychlosti a monitorování, abyste zabránili zneužití rozhraní GraphQL API.

Vytvoření rozhraní GraphQL API pro stávající data

Už máte data v Azure a chcete k němu přistupovat pomocí GraphQL? Existují jednoduché způsoby, jak to udělat:

  • API Management: Tato služba může vytvořit vrstvu GraphQL před stávajícími rozhraními API nebo zdroji dat. Je to jako přidání překladače GraphQL do systémů, které nativně nemluví o GraphQL.

  • Tvůrce rozhraní Data API: Tento nástroj automaticky vytvoří koncové body GraphQL z vašich databází. Je to nejrychlejší způsob, jak přidat GraphQL do stávajících dat – stačí ho nasměrovat na databázi a udělá to za vás.

Jednoduchý příklad: Vytvoření rozhraní GraphQL API pro produktovou databázi

Tento proces funguje jednoduše:

  1. Máte databázi s informacemi o produktu (názvy, ceny, popisy)
  2. Nastavíte Tvůrce rozhraní Data API pro připojení k databázi.
  3. Tvůrce rozhraní Data API vytvoří automaticky koncový bod GraphQL.
  4. Vaše aplikace v JavaScriptu teď může vytvářet dotazy GraphQL jako:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Tento dotaz by vám přidělil všechny produkty do 50 USD a zobrazil pouze jejich názvy, ceny a popisy.

Zdroje informací, které vám pomůžou začít

Pokud se chcete dozvědět více nebo začít sestavovat pomocí GraphQL v Azure, tady jsou některé užitečné zdroje informací:

Další kroky