Dela via


GraphQL på Azure för JavaScript-utvecklare

GraphQL hjälper dina JavaScript-program att hämta exakt de data de behöver med en enda begäran. Den här artikeln förklarar vad GraphQL är, varför du kan använda det och hur Azure-tjänster kan hjälpa dig att skapa GraphQL-program med minimal ansträngning. Oavsett om du migrerar ett befintligt GraphQL-program eller skapar ett nytt, tillhandahåller Azure verktyg och tjänster för att förenkla processen.

Vad är GraphQL?

GraphQL är ett modernt sätt för webbappen att kommunicera med servrar och databaser. Se det som ett smartare sätt att begära exakt den information du behöver:

  • Det är som att beställa en anpassad måltid istället för att acceptera en fast meny - du ber om exakt vad du vill ha
  • Det fungerar bra med JavaScript-program som React, Vue eller Angular
  • Det kan göra dina webbappar snabbare och enklare att skapa

I stället för att göra flera begäranden till olika serverslutpunkter (till exempel med traditionella REST-API:er – det standard sätt som de flesta webbtjänster kommunicerar på), kan du med GraphQL göra en exakt begäran för att få alla data du behöver.

Varför skulle jag vilja använda GraphQL i min webbapp?

GraphQL gör dina JavaScript-program bättre på tre huvudsakliga sätt:

  • Få exakt det du behöver: Din app kan be om bara de data den behöver just nu – inte mer, inte mindre. Detta är som att gå till en buffé och bara ta det du kommer att äta, istället för att serveras en gigantisk fast måltid där det mesta blir bortkastat. Detta gör din app snabbare eftersom den hämtar mindre data.

  • En begäran i stället för många: Behöver du information från flera platser? I stället för att göra 5 olika begäranden till 5 olika slutpunkter kan du med GraphQL bara göra en begäran för att få allt. Det här är som att ha en person som samlar all din shopping istället för att du går till fem olika butiker.

  • Färre misstag med bättre verktyg: GraphQL levereras med verktyg som hjälper dig att fånga upp fel när du kodar i stället för när appen körs. Det är som att ha en stavningskontroll som fungerar när du skriver, i stället för att identifiera stavfel när du har publicerat dokumentet.

När du skapar med GraphQL och JavaScript använder du förmodligen något av följande populära verktyg:

  • Apollo-klient: Den mest använda GraphQL-klienten som fungerar med React, Vue, Angular och oformaterad JavaScript.
  • URQL: Ett enkelt alternativ med bra prestanda.
  • Relay: Skapad av Facebook (som också skapade GraphQL), bäst för stora React-program.

Azure-tjänster för GraphQL-program

Välj din metod baserat på ditt specifika scenario:

Om du vill ... Då borde du... Använda dessa Azure-tjänster
Ta en befintlig GraphQL-app till Azure Distribuera ditt program utan att ändra koden Azure App Service eller Azure Container Apps
Lägga till GraphQL i dina befintliga data Skapa GraphQL-slutpunkter för dina data med minimal kodning Data-API-byggare
Skapa ett GraphQL API-lager Skapa ett enhetligt GraphQL-gränssnitt över befintliga API:er Azure API Management med GraphQL-transformeringen

Värd för GraphQL-program i Azure

Du har några bra alternativ beroende på vilken typ av program du skapar:

  • App Service: Detta är som en traditionell webbvärdtjänst, men med extra funktioner. Det är bra för de flesta JavaScript-program som behöver en server.

  • ContainerAppar: Om ditt program är paketerat i containrar (till exempel Docker) gör den här tjänsten det enkelt att köra och skala dem.

Datalagring för GraphQL-program

GraphQL måste ansluta till dina data. Azure erbjuder flera sätt att göra detta:

  • Förvandla databasen till ett GraphQL-API: Verktyget "Data API Builder" kan automatiskt skapa en GraphQL-slutpunkt (en URL där din app kan skicka GraphQL-begäranden) från din befintliga databas – ingen kodning krävs!

  • Lagra dina data: Azure erbjuder databaser för olika behov:

    • SQL Database: För traditionella tabellbaserade data
    • Cosmos DB: För flexibel, skalbar datalagring utan fasta scheman

Säkra GraphQL-applikationer

  • Användarinloggning och säkerhet: Azures identitetsplattform hjälper dig att lägga till inloggningsfunktioner i ditt program så att endast rätt personer kan komma åt dina GraphQL-data.
  • Rollbaserad åtkomst: Kontrollera exakt vilka användare som kan fråga efter eller ändra vilka data via dina GraphQL-slutpunkter.
  • API-skydd: Lägg till hastighetsbegränsning och övervakning för att förhindra missbruk av GraphQL-API:er.

Skapa GraphQL-API:er för dina befintliga data

Har du redan data i Azure och vill komma åt dem med GraphQL? Det finns enkla sätt att göra detta:

  • API Management: Den här tjänsten kan skapa ett GraphQL-lager framför dina befintliga API:er eller datakällor. Det är som att lägga till en GraphQL-översättare i system som inte talar GraphQL internt.

  • Data API Builder: Det här verktyget skapar automatiskt GraphQL-slutpunkter från dina databaser. Det är det snabbaste sättet att lägga till GraphQL i dina befintliga data – peka bara på din databas och det gör jobbet åt dig.

Ett enkelt exempel: Skapa ett GraphQL-API för en produktdatabas

Så här fungerar processen enkelt:

  1. Du har en databas med produktinformation (namn, priser, beskrivningar)
  2. Du konfigurerar Data API Builder för att ansluta till din databas
  3. Data API Builder skapar automatiskt en GraphQL-slutpunkt
  4. Ditt JavaScript-program kan nu göra GraphQL-frågor som:
{
  products(where: { price_lt: 50 }) {
    name
    price
    description
  }
}

Den här frågan skulle ge dig alla produkter under 50 USD och bara visa deras namn, priser och beskrivningar.

Resurser som hjälper dig att komma igång

Om du vill lära dig mer eller börja skapa med GraphQL i Azure finns här några användbara resurser:

Nästa steg