View a markdown version of this page

Origini dati - AWS AppSync GraphQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Origini dati

Nella sezione precedente, abbiamo appreso che uno schema definisce la forma dei tuoi dati. Tuttavia, non abbiamo mai spiegato da dove provenissero quei dati. Nei progetti reali, lo schema è come un gateway che gestisce tutte le richieste fatte al server. Quando viene effettuata una richiesta, lo schema funge da singolo endpoint che si interfaccia con il client. Lo schema accederà, elaborerà e inoltrerà i dati dall'origine dati al client. Guarda l'infografica qui sotto:

Schema GraphQL che integra più Servizi AWS architetture API per un singolo endpoint.

AWS AppSync e GraphQL implementano in modo eccellente le soluzioni Backend For Frontend (BFF). Lavorano in tandem per ridurre la complessità su larga scala astraendo il backend. Se il tuo servizio utilizza and/or microservizi di origini dati diverse, puoi essenzialmente eliminare parte della complessità definendo la forma dei dati di ciascuna fonte (sottografo) in un unico schema (supergrafo). Ciò significa che l'API GraphQL non si limita all'utilizzo di un'unica fonte di dati. Puoi associare un numero qualsiasi di fonti di dati alla tua API GraphQL e specificare nel codice come interagiranno con il servizio.

Come puoi vedere nell'infografica, lo schema GraphQL contiene tutte le informazioni necessarie ai client per richiedere i dati. Ciò significa che tutto può essere elaborato in un'unica richiesta anziché in più richieste come nel caso di REST. Queste richieste passano attraverso lo schema, che è l'unico endpoint del servizio. Quando le richieste vengono elaborate, un resolver (spiegato nella sezione successiva) esegue il proprio codice per elaborare i dati dalla fonte di dati pertinente. Quando viene restituita la risposta, il sottografo collegato all'origine dati verrà popolato con i dati dello schema.

AWS AppSync supporta molti tipi diversi di origini dati. Nella tabella seguente, descriveremo ogni tipo, elencheremo alcuni dei vantaggi di ciascuno e forniremo collegamenti utili per un contesto aggiuntivo.

Origine dati Description Vantaggi Informazioni supplementari
Amazon DynamoDB «Amazon DynamoDB è un servizio di database NoSQL completamente gestito che offre prestazioni veloci e prevedibili con una scalabilità perfetta. DynamoDB consente di scaricare gli oneri di gestione e dimensionamento di un database distribuito in modo da non doversi più preoccupare di provisioning dell'hardware, installazione e configurazione, replica, applicazione di patch al software e dimensionamento del cluster. DynamoDB offre anche la crittografia a riposo, che elimina gli oneri operativi e la complessità legati alla protezione dei dati sensibili».

  • Prestazioni su larga scala: DynamoDB è progettato per garantire prestazioni costanti su qualsiasi scala. Ciò è possibile tramite l'uso di partizioni. DynamoDB partizionerà automaticamente le tabelle in diverse allocazioni che verranno archiviate in più SSD su diversi nodi. Questo generalmente aumenterà il throughput della rete e ridurrà la latenza.

  • Capacità su larga scala: DynamoDB monitora il traffico e consente di scalare automaticamente il throughput se la rete rimane sovraccarica per lunghi periodi di tempo.

  • Disponibilità e tolleranza ai guasti: DynamoDB è supportato da diverse regioni fisicamente isolate, ognuna contenente diverse zone di disponibilità fisicamente isolate. DynamoDB passerà automaticamente a una zona di backup in caso di interruzione del servizio. È inoltre possibile eseguire il backup e la replica dei dati manualmente per garantire la sicurezza dei dati.

  • Registrazione e monitoraggio: DynamoDB fornisce diversi strumenti analitici per le tabelle. Puoi monitorare le prestazioni della tua tabella e creare allarmi per notificarti modifiche drastiche al servizio.

  • Sicurezza: DynamoDB segue protocolli rigorosi per garantire che i tuoi dati siano conformi ai requisiti di sicurezza della tua organizzazione.

  • Integrazione con AWS AppSync: DynamoDB è perfettamente integrato con il nostro servizio. Puoi creare nuove tabelle DynamoDB e generare automaticamente uno schema da esse per semplificare il processo di sviluppo. Forniamo anche un'intera raccolta di operazioni per richiedere facilmente i dati dalle tabelle DynamoDB esistenti nel tuo account nel tuo resolver.

AWS Lambda "AWS Lambda è un servizio di elaborazione che consente di eseguire codice senza effettuare il provisioning o la gestione dei server.

Lambda esegue il codice su un'infrastruttura di elaborazione ad alta disponibilità e gestisce tutta l'amministrazione delle risorse di elaborazione, compresa la manutenzione del server e del sistema operativo, il provisioning e la scalabilità automatica della capacità e la registrazione. Con Lambda, tutto ciò che devi fare è fornire il codice in uno dei runtime linguistici supportati da Lambda».

  • Pay-as-you-use modello: Lambda ti fa pagare solo quando utilizzi le loro risorse. Consentono inoltre di scalare la quantità di risorse utilizzate in base alle esigenze dell'applicazione.

  • Ridimensionamento automatico: a volte l'applicazione può richiedere una potenza di calcolo aggiuntiva per un particolare processo. Lambda consente di scalare automaticamente le risorse di elaborazione per soddisfare le esigenze dell'applicazione.

  • Tempi di implementazione più rapidi: puoi semplificare il processo di sviluppo tramite un pacchetto di distribuzione. Usa un pacchetto per caricare il codice della funzione nel servizio Lambda. Puoi quindi utilizzare i loro ambienti di runtime per testare ed eseguire le tue funzioni.

  • Versatilità: Lambda può essere utilizzata in una moltitudine di casi d'uso. Puoi integrare senza problemi Lambda con servizi e servizi di terze parti. AWS Alcuni esempi includono CI/CD pipeline e servizi di mailing di massa.

  • Integrazione con AWS AppSync: puoi richiamare facilmente le tue funzioni Lambda nel tuo resolver per gestire le richieste. Il nostro servizio fornisce un'operazione di richiesta semplificata per eseguire chiamate Lambda. Consentiamo chiamate singole e in batch.

OpenSearch «Amazon OpenSearch Service è un servizio gestito che semplifica l'implementazione, la gestione e la scalabilità OpenSearch dei cluster nel AWS cloud. Amazon OpenSearch Service supporta OpenSearch Elasticsearch OSS legacy (fino alla 7.10, la versione open source finale del software). Quando si crea un cluster, è possibile scegliere il motore di ricerca da usare.

OpenSearchè un motore di ricerca e analisi completamente open source per casi d'uso come analisi dei log, monitoraggio delle applicazioni in tempo reale e analisi del clickstream. Per ulteriori informazioni, consulta la documentazione relativa ad OpenSearch.

Amazon OpenSearch Service fornisce tutte le risorse per il tuo OpenSearch cluster e lo avvia. Inoltre, rileva e sostituisce automaticamente i nodi di OpenSearch servizio guasti, riducendo il sovraccarico associato alle infrastrutture autogestite. Puoi scalare il tuo cluster con una singola chiamata API o con pochi clic nella console».

  • Scalabilità: puoi facilmente scalare il servizio per soddisfare i tuoi requisiti di servizio tramite OpenSearch Serverless.

  • Inserimento dati: è possibile utilizzare OpenSearch Ingestion per importare, elaborare e analizzare i dati. Esistono molte applicazioni per l'inserimento dei dati, che puoi trovare qui. https://docs.aws.amazon.com/opensearch-service/latest/developerguide/use-cases-overview.html

  • Sicurezza: OpenSearch può gestire la configurazione AWS di sicurezza tra cui IAM CloudTrail, VPC, autenticazione, ecc.

  • Disponibilità: supporta OpenSearch anche diverse regioni e zone di disponibilità nel suo servizio.

  • Integrazione con AWS AppSync: In AWS AppSync, puoi utilizzare le API GraphQL per archiviare e recuperare dati dai domini di OpenSearch servizio esistenti nel tuo account.

Endpoint HTTP Puoi utilizzare gli endpoint HTTP come origini dati. AWS AppSync puoi inviare richieste agli endpoint con le informazioni pertinenti come parametri e payload. La risposta HTTP verrà esposta al resolver, che restituirà la risposta finale al termine delle sue operazioni.
  • Utile per applicazioni semplici che non sono così integrate con servizi come Lambda.

Amazon EventBridge «EventBridge è un servizio serverless che utilizza gli eventi per connettere tra loro i componenti dell'applicazione, semplificando la creazione di applicazioni scalabili basate sugli eventi. Usalo per indirizzare gli eventi da fonti come applicazioni, AWS servizi e software di terze parti sviluppati internamente alle applicazioni di consumo in tutta l'organizzazione. EventBridge fornisce un modo semplice e coerente per acquisire, filtrare, trasformare e distribuire eventi in modo da poter creare rapidamente nuove applicazioni».

  • Event-driven architettura: puoi sfruttare l'architettura basata sugli eventi.

  • Pianificazione: è possibile utilizzare lo EventBridge Scheduler per automatizzare le attività e le regole utilizzando espressioni cron o impostare intervalli di tempo come alternativa ai modelli di eventi.

  • Pipes: utilizzando EventBridge Pipes, è possibile sostituire il bus degli eventi con una pipe che include modelli di eventi di filtraggio aggiuntivi e arricchimento tramite trasformazioni di dati prima di inviare l'evento al target.

  • Integrazione con AWS AppSync: AWS AppSync consente di inviare eventi ai bus di eventi utilizzando il resolver.

Database relazionali «Amazon Relational Database Service (Amazon RDS) è un servizio web che semplifica la configurazione, la gestione e la scalabilità di un database relazionale nel cloud. AWS Fornisce una capacità ridimensionabile e conveniente per un database relazionale standard del settore e gestisce le attività comuni di amministrazione del database».

  • Gestione semplificata: Periodicamente, RDS esegue la manutenzione delle proprie risorse. La manutenzione comporta spesso aggiornamenti dell'hardware sottostante dell'istanza DB, del sistema operativo (OS) sottostante o della versione del motore di database. In circostanze normali, è possibile decidere quando eseguire gli aggiornamenti (le eccezioni includono le patch di sicurezza).

  • Raccomandazioni: la funzione di raccomandazione di RDS fornisce suggerimenti automatici per risolvere potenziali problemi nel tuo caso.

  • Disponibilità: RDS è disponibile in diverse regioni fisiche in tutto il mondo. Puoi distribuire facilmente le esigenze del tuo database su diversi nodi per fornire un servizio migliore ai tuoi clienti.

  • Personalizzazione: RDS è personalizzato per soddisfare i requisiti delle grandi aziende. RDS offre varie opzioni per l'elaborazione, l'implementazione rapida, la scalabilità e l'archiviazione.

  • Sicurezza: RDS è integrato con diversi strumenti e servizi per mantenere la sicurezza del database a livello di utente, database e rete.

  • Integrazione con AWS AppSync: se stai cercando una soluzione backend matura, ti AWS AppSync consente di inviare, elaborare, archiviare e restituire dati utilizzando la tua istanza come origine dati.

Nessuna fonte di dati Se non hai intenzione di utilizzare un servizio di origine dati, puoi impostarlo sunone. Un'origine none dati, sebbene sia ancora esplicitamente classificata come origine dati, non è un supporto di memorizzazione. Nonostante ciò, è ancora utile in alcuni casi per la manipolazione e il trasferimento dei dati.
  • Potenzialmente utile per cose come la conversione dei dati

  • Utile quando si risolve qualcosa a livello locale

Suggerimento

Per ulteriori informazioni su come interagiscono le origini dati AWS AppSync, vedere Allegare un'origine dati.