Fonti di dati - AWS AppSync

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à.

Fonti di dati

Nella sezione precedente, abbiamo appreso che uno schema definisce la forma dei 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 dalla fonte dati al client. Guarda l'infografica qui sotto:

GraphQL schema integrating multiple AWS servizi for a single endpoint API architecture.

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 diverse fonti di dati e/o microservizi, puoi essenzialmente eliminare parte della complessità definendo la forma dei dati di ciascuna fonte (sottografo) in un unico schema (supergrafo). Ciò significa che GraphQL non API si limita a utilizzare un'unica fonte di dati. Puoi associare un numero qualsiasi di fonti di dati al tuo GraphQL API e specificare nel codice come interagiranno con il servizio.

Come puoi vedere nell'infografica, lo schema GraphQL contiene tutte le informazioni di cui i client hanno bisogno per richiedere dati. Ciò significa che tutto può essere elaborato in un'unica richiesta anziché in più richieste come nel caso di noi. 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 di fonti di dati diversi. Nella tabella seguente, descriveremo ogni tipo, elencheremo alcuni dei vantaggi di ciascuno e forniremo link utili per un contesto aggiuntivo.

Origine dati Descrizione Vantaggi Informazioni supplementari
Amazon DynamoDB «Amazon DynamoDB è un servizio di database SQL No 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 l'onere operativo e la complessità associati 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ù nodi. SSDs Questo generalmente aumenterà la velocità di trasmissione 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 agli errori: 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 avvisarti di cambiamenti drastici al servizio.

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

  • Integrazione con AWS AppSync: DynamoDB si integra perfettamente con il nostro servizio. Puoi creare nuove tabelle DynamoDB e generare automaticamente uno schema a partire da esse per semplificare il processo di sviluppo. Forniamo anche un'intera raccolta di operazioni per richiedere facilmente 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 fornire o gestire 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».

  • ay-as-you-use Modello P: Lambda ti addebita solo quando utilizzi le sue risorse. Consentono inoltre di scalare la quantità di risorse utilizzate in base alle esigenze delle applicazioni.

  • Scalabilità automatica: a volte l'applicazione può richiedere una potenza di calcolo aggiuntiva per un particolare processo. Lambda ti consente di scalare automaticamente le risorse di elaborazione per adattarle alle esigenze della tua 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 AWS e servizi di terze parti. Alcuni esempi includono pipeline CI/CD e servizi di mailing di massa.

  • Integrazione con AWS AppSync: puoi richiamare facilmente le 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, il funzionamento e la scalabilità OpenSearch dei cluster nel AWS cloud. Amazon OpenSearch Service supporta OpenSearch Elasticsearch legacy OSS (fino alla versione 7.10, l'ultima versione open source 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 l'analisi dei log, il monitoraggio delle applicazioni in tempo reale e l'analisi dei clickstream. Per ulteriori informazioni, consulta la documentazione. OpenSearch

Amazon OpenSearch Service fornisce tutte le risorse per il 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 cluster con una sola API chiamata o pochi clic nella console».

  • Scalabilità: è possibile scalare facilmente il servizio per adattarlo ai requisiti di servizio tramite OpenSearch Serverless.

  • Inserimento di dati: è possibile utilizzare OpenSearch Ingestion per importare, elaborare e analizzare i dati. Esistono molte applicazioni per l'ingestione dei dati, che puoi trovare qui.

  • Sicurezza: OpenSearch può gestire la configurazione AWS di sicurezza IAM CloudTrail, inclusa l'autenticazioneVPCs, ecc.

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

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

HTTPendpoint È possibile utilizzare gli HTTP endpoint come fonti di dati. AWS AppSync può inviare richieste agli endpoint con le informazioni pertinenti come parametri e payload. La HTTP risposta sarà esposta al resolver, che restituirà la risposta finale dopo aver terminato le 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 delle applicazioni, semplificando la creazione di applicazioni scalabili basate sugli eventi. Utilizzatelo per indirizzare gli eventi da fonti quali applicazioni, AWS servizi e software di terze parti sviluppati internamente alle applicazioni destinate ai consumatori all'interno dell'organizzazione. EventBridge offre un modo semplice e coerente per importare, filtrare, trasformare e fornire eventi in modo da poter creare nuove applicazioni rapidamente».

  • Architettura basata sugli eventi: puoi sfruttare l'architettura basata sugli eventi.

  • Pianificazione: puoi 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 l'arricchimento tramite trasformazioni dei dati prima di inviare l'evento alla destinazione.

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

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

  • Gestione semplificata: esegue periodicamente la manutenzione delle sue risorse. RDS La manutenzione prevede spesso aggiornamenti all'hardware sottostante dell'istanza DB, al sistema operativo (OS) sottostante o alla versione del motore di database. In circostanze normali, puoi decidere quando eseguire gli aggiornamenti (le eccezioni includono le patch di sicurezza).

  • Consigli: RDS la funzionalità di raccomandazione fornisce suggerimenti automatici per risolvere potenziali problemi nell'istanza.

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

  • Personalizzazione: RDS è personalizzato per soddisfare i requisiti delle grandi aziende. RDSoffre 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 di backend matura, ti AWS AppSync consente di inviare, elaborare, archiviare e restituire dati utilizzando l'istanza come fonte di dati.

Nessuna fonte di dati Se non hai intenzione di utilizzare un servizio di origine dati, puoi impostarlo sunone. Una fonte di none dati, sebbene sia ancora esplicitamente classificata come fonte di dati, non è un supporto di archiviazione. 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 per risolvere qualcosa a livello locale

Suggerimento

Per ulteriori informazioni su come interagiscono le sorgenti di dati AWS AppSync, consulta Allegare un'origine dati.