Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
GraphQL consente alle applicazioni JavaScript di recuperare esattamente i dati necessari con una singola richiesta. Questo articolo illustra che cos'è GraphQL, perché è possibile usarlo e come i servizi di Azure possono aiutare a creare applicazioni GraphQL con un impegno minimo. Indipendentemente dal fatto che si stia eseguendo la migrazione di un'applicazione GraphQL esistente o si stia creando una nuova applicazione, Azure offre strumenti e servizi per semplificare il processo.
Che cos'è GraphQL?
GraphQL è un modo moderno per comunicare con server e database dell'applicazione Web. Si consideri un modo più intelligente per richiedere esattamente le informazioni necessarie:
- È come ordinare un pasto personalizzato invece di accettare un menu fisso - si chiede esattamente quello che si desidera
- Funziona bene con applicazioni JavaScript come React, Vue o Angular
- Può rendere le app Web più veloci e facili da compilare
Invece di effettuare più richieste a endpoint server diversi (ad esempio con le API REST tradizionali, il modo standard in cui la maggior parte dei servizi Web comunica), GraphQL consente di effettuare una richiesta precisa per ottenere tutti i dati necessari.
Perché usare GraphQL nell'app Web?
GraphQL migliora le applicazioni JavaScript in tre modi principali:
Ottieni esattamente ciò di cui hai bisogno: l'app può richiedere solo i dati necessari in questo momento, non più, non meno. Questo è come andare a un buffet e prendere solo quello che si mangia, invece di essere servito un grande pasto fisso dove la maggior parte viene sprecata. In questo modo l'app risulta più veloce perché scarica meno dati.
Una richiesta invece di molte: sono necessarie informazioni da più posizioni? Invece di effettuare 5 richieste diverse a 5 endpoint diversi, GraphQL consente di effettuare una sola richiesta per ottenere tutto. Questo è come avere una persona raccogliere tutti i tuoi acquisti invece di andare a cinque negozi diversi.
Meno errori con strumenti migliori: GraphQL include strumenti che consentono di intercettare gli errori durante la codifica anziché quando l'app è in esecuzione. È come avere il controllo ortografico che funziona durante la digitazione, invece di individuare gli errori di digitazione dopo aver pubblicato il documento.
Strumenti JavaScript più diffusi per GraphQL
Durante la compilazione con GraphQL e JavaScript, è probabile che si usi uno di questi strumenti più diffusi:
- Client Apollo: il client GraphQL più diffuso che funziona con React, Vue, Angular e JavaScript normale.
- URQL: alternativa leggera con buone prestazioni.
- Relay: creato da Facebook (che ha creato anche GraphQL), è particolarmente adatto a grandi applicazioni React.
Servizi di Azure per applicazioni GraphQL
Scegliere l'approccio in base al proprio scenario specifico:
| Se vuoi... | Allora dovresti... | Uso di questi servizi di Azure |
|---|---|---|
| Portare un'app GraphQL esistente in Azure | Distribuire l'applicazione senza modificare il codice | Servizio app di Azure o app di Azure Container |
| Aggiungere GraphQL ai dati esistenti | Creare endpoint GraphQL per i dati con codifica minima | Generatore API dati |
| Creare un livello API GraphQL | Creare un'interfaccia GraphQL unificata sulle API esistenti | Gestione API di Azure con la trasformazione GraphQL |
Ospitare applicazioni GraphQL in Azure
Sono disponibili alcune opzioni valide a seconda del tipo di applicazione che si sta creando:
Servizio app: si tratta di un servizio di hosting Web tradizionale, ma con funzionalità aggiuntive. È ideale per la maggior parte delle applicazioni JavaScript che richiedono un server.
App contenitore: se l'applicazione viene inserita in un pacchetto in contenitori (ad esempio Docker), questo servizio semplifica l'esecuzione e il ridimensionamento.
Archiviazione dei dati per le applicazioni GraphQL
GraphQL deve connettersi ai dati. Azure offre diversi modi per eseguire questa operazione:
Trasformare il database in un'API GraphQL: lo strumento "Generatore API dati" può creare automaticamente un endpoint GraphQL (un URL in cui l'app può inviare richieste GraphQL) dal database esistente, senza dover scrivere codice.
Archiviare i dati: Azure offre database per esigenze diverse:
- Database SQL: per i dati tradizionali basati su tabelle
- Cosmos DB: per l'archiviazione dati flessibile e scalabile senza schemi rigidi
Proteggere le applicazioni GraphQL
- Accesso utente e sicurezza: La piattaforma di identità di Azure consente di aggiungere funzionalità di accesso all'applicazione in modo che solo le persone giuste possano accedere ai dati graphQL.
- Accesso in base al ruolo: controllare esattamente quali utenti possono eseguire query o modificare i dati tramite gli endpoint GraphQL.
- Protezione API: aggiungere la limitazione della frequenza e il monitoraggio per evitare abusi delle API GraphQL.
Creare API GraphQL per i dati esistenti
Sono già disponibili dati in Azure e si vuole accedervi con GraphQL? È possibile eseguire questa operazione in modo semplice:
Gestione API: questo servizio può creare un livello GraphQL davanti alle API o alle origini dati esistenti. È come aggiungere un traduttore GraphQL ai sistemi che non parlano GraphQL in modo nativo.
Generatore API dati: questo strumento crea automaticamente endpoint GraphQL dai database. È il modo più rapido per aggiungere GraphQL ai dati esistenti, basta puntare al database e funziona automaticamente.
Esempio semplice: Creazione di un'API GraphQL per un database di prodotti
Ecco come funziona il processo in termini semplici:
- Si dispone di un database con informazioni sul prodotto (nomi, prezzi, descrizioni)
- Hai configurato il Generatore API dati per connetterti al database
- Generatore API dati crea automaticamente un endpoint GraphQL
- L'applicazione JavaScript può ora eseguire query GraphQL come:
{
products(where: { price_lt: 50 }) {
name
price
description
}
}
Questa query consente di ottenere tutti i prodotti con $50, visualizzando solo i nomi, i prezzi e le descrizioni.
Risorse utili per iniziare
Per altre informazioni o iniziare a creare con GraphQL in Azure, ecco alcune risorse utili:
- Introduzione a GraphQL per principianti
- Introduzione a Generatore API dati
- Esempi di GraphQL javaScript in Azure
Passaggi successivi
- Installare Generatore API di dati
- App di container di Azure
- Gestione API di Azure - Creare e gestire API
- Servizio app di Azure
- Database SQL di Azure - Archiviare dati strutturati
- Azure Cosmos DB - Archiviare dati flessibili e non strutturati