GITHUB_PR_NUMBER: 10178 GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/10178 PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10751 Co-authored-by: Jigyasu Arya <6664187+lastnamearya@users.noreply.github.com> GitOrigin-RevId: 781c0d9ed3d8e61af4c773e971f960504de24a7d
14 KiB
Hasura GraphQL Engine
Hasura è un prodotto open source che accelera lo sviluppo API di 10 volte fornendoti all'istante API GraphQL o REST con autorizzazione integrata.
Leggi di più su hasura.io e nei docs.
Features
- Crea queries potenti: Filtri, paginazione, ricerca di pattern, e mutazioni di inserimento, aggiornamento ed eliminazione, anche in bulk
- Lavora con live database esistenti: Punta a un database esistente per ottenere istantaneamente una GraphQL API pronta all'uso
- In tempo reale: Converti qualsiasi query GraphQL in una query live usando le sottoscrizioni
- Merge di schemi remoti: Accedi a schemi GraphQL personalizzati per la business logic tramite un singolo endpoint GraphQL Engine. Leggi di più.
- Estendibile con le Azioni: Scrivi API REST per estendere lo schema di Hasura con una business logic personalizzata.
- Attiva webhook o funzioni serverless: Eventi di inserimento/aggiornamento/eliminazione su Postgres (leggi di più)
- Trigger programmati: Esegui la business logic personalizzata in momenti specifici utilizzando una configurazione cron o un singolo evento.
- Controllo degli accessi preciso: Controllo accessi dinamico che si integra con il tuo sistema di autenticazione (es: auth0, firebase-auth)
- Admin UI & Migrazioni: Interfaccia utente di amministrazione & migrazioni degli schemi ispirate a Rails.
- Database Supportati: Supporta PostgreSQL (e le sue varianti), MS SQL Server e Big Query. Supporto per altri database in arrivo.
Leggi di più su hasura.io e nei docs.
Indice dei contenuti
Sommario
- Guida introduttiva:
- Architettura
- Strumenti client-side
- Aggiungere la business logic
- Demo
- Supporto e Risoluzione dei Problemi
- Resta aggiornato
- Contribuire
- Asset del Marchio
- Licenza
- Traduzioni
Guida introduttiva:
Deployment one-click su Hasura Cloud
Il metodo più facile e veloce per provare Hasura è via Hasura Cloud.
-
Fare clic sul seguente pulsante per eseguire il deploy del motore GraphQL su Hasura Cloud, incluso l'add-on Postgres o utilizzando un database Postgres esistente:
-
Apri la console di Hasura
Clicca sul bottone "Launch console" per aprire la console di Hasura.
-
Esegui la tua prima query GraphQL
Crea una tabella ed esegui subito la tua prima query. Segui questa semplice guida.
Altre opzioni di deployment one-click
Consulta le istruzioni per le seguenti opzioni di deployment one-click:
Fornitore dell'infrastruttura | Link one-click | Informazioni aggiuntive |
---|---|---|
Heroku | docs | |
DigitalOcean | docs | |
Azure | docs | |
Render | docs |
Altri metodi di deployment
Per il deployment basato su Docker e opzioni avanzate di configurazione, consulta le guide per il deployment o i manifesti d'installazione.
Architettura
Hasura GraphQL Engine gestisce un'istanza di database Postgres e può accettare richieste GraphQL dalle tue app client. Può essere configurato per funzionare con il tuo sistema di autenticazione già esistente e può gestire il controllo degli accessi usando regole a livello di campo con variabili dinamiche del tuo sistema di autenticazione.
È inoltre possibile unire schemi GraphQL remoti e fornire un'API GraphQL unificata.
Strumenti client-side
Hasura funziona con qualsiasi client GraphQL. Consulta awesome-graphql per un elenco di client. La nostra serie di tutorial frontend ha anche integrazioni con i client GraphQL per diversi framework.
Aggiungere la business logic
GraphQL Engine fornisce metodi semplici, scalabili e performanti per aggiungere business logic personalizzate al tuo back-end:
Schemi remoti
Aggiungi risolutori personalizzati in uno schema remoto in aggiunta allo schema GraphQL basato su database di Hasura. Ideale per casi d'uso come l'implementazione di un'API di pagamento o l'esecuzione di query su dati non presenti nel tuo database - leggi di più.
Azioni
Le azioni sono un modo per estendere lo schema di Hasura con una business logic personalizzata utilizzando query e mutazioni ad hoc. È possibile aggiungere azioni ad Hasura per gestire vari casi d'uso come la convalida dei dati, l'arricchimento dei dati da fonti esterne e qualsiasi altra business logic complessa - leggi di più
Attiva webhook su eventi del database
Aggiungi una business logic asincrona attivabile in base agli eventi del database. Ideale per notifiche, pipeline di dati da Postgres o processing asincrono - leggi di più.
Dati derivati o trasformazioni di dati
Trasforma i dati in Postgres o esegui la business logic su di essi per derivare un altro set di dati che può essere interrogato utilizzando GraphQL Engine - leggi di più.
Demo
Guarda tutte le applicazioni d'esempio nella cartella hasura/sample-apps.
Applicazioni in tempo reale
-
Applicazione di chat di gruppo realizzata con React. Include un indicatore di digitazione, utenti online e notifiche per i nuovi messaggi.
-
App di localizzazione in tempo reale che mostra un veicolo in corsa che cambia le coordinate GPS correnti in movimento su una mappa.
-
Una dashboard in tempo reale per aggregazioni di dati in continua evoluzione.
Video
- Aggiungere GraphQL a un'istanza GitLab self-hosted (3:44 mins)
- Todo app con Auth0 e GraphQL backend (4:00 mins)
- GraphQL su GitLab integrato con GitLab auth (4:05 mins)
- Dashboard per 10 millioni di percorsi con geolocalizzazione (PostGIS, Timescale) (3:06 mins)
Supporto e Risoluzione dei Problemi
La documentazione e la community ti aiuteranno a risolvere la maggior parte dei problemi. Se hai riscontrato un bug o hai bisogno di metterti in contatto con noi, puoi contattarci utilizzando uno dei seguenti canali:
- Supporto & feedback: Discord
- Tracciamento di problemi e bug: GitHub issues
- Segui gli aggiornamenti del prodotto: @HasuraHQ
- Parla con noi sulla chat del sito
Ci impegniamo a promuovere nella comunity un ambiente aperto e accogliente. Per favore consulta il Codice di Condotta.
Se desideri segnalare un problema di sicurezza, per favore leggi questo.
Resta aggiornato
Rilasciamo nuove features ogni mese. Iscriviti alla nostra newsletter utilizzando il link sottostante. Inviamo le newsletter soltanto una volta al mese. https://hasura.io/newsletter/
Contribuire
Dai un'occhiata alla nostra guida per i contributi per ulteriori dettagli.
Asset del Marchio
Gli asset del marchio Hasura (loghi, la mascotte di Hasura, i badge "powered by", etc.) possono essere trovati nella cartella assets/brand. Sentiti libero di usarle nella tua applicazione/sito web etc. Saremmo entusiasti se aggiungessi il badge "Powered by Hasura" alle tue applicazioni create utilizzando Hasura. ❤️
<!-- Su sfondi chiari -->
<a href="https://hasura.io">
<img width="150px" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1711457033/main-web/hasura_logo_primary_darkbg_nussjm.svg" />
</a>
<!-- Su sfondi scuri -->
<a href="https://hasura.io">
<img width="150px" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1711457032/main-web/hasura_logo_primary_lightbg_n0xhz8.svg" />
</a>
Licenza
Il motore di base GraphQL è disponibile sotto la Licenza Apache 2.0 (Apache-2.0).
Tutti gli altri contenuti (eccetto quelli nelle cartelle server
, cli
e
console
) sono disponibili sotto la Licenza MIT.
Questo include l'intero contenuto delle cartelle docs
e community
.
Traduzioni
Questo readme è disponibile nelle seguenti traduzioni:
- Japanese 🇯🇵 (🙏 @moksahero)
- French 🇫🇷 (🙏 @l0ck3)
- Bosnian 🇧🇦 (🙏 @hajro92)
- Russian 🇷🇺 (🙏 @highflyer910)
- Greek 🇬🇷 (🙏 @MIP2000)
- Spanish 🇲🇽(🙏 @ferdox2)
- Indonesian 🇮🇩 (🙏 @anwari666)
- Brazilian Portuguese 🇧🇷 (🙏 @rubensmp)
- German 🇩🇪 (🙏 @FynnGrandke)
- Chinese 🇨🇳 (🙏 @jagreetdg & @johnbanq)
- Turkish 🇹🇷 (🙏 @berat)
- Korean 🇰🇷 (🙏 @라스크)
- Italian 🇮🇹 (🙏 @befire)
Le traduzioni di altri file possono essere trovate qui.