Sources de données - AWS AppSync

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Sources de données

Dans la section précédente, nous avons appris qu'un schéma définit la forme de vos données. Cependant, nous n'avons jamais expliqué d'où venaient ces données. Dans les projets réels, votre schéma est comme une passerelle qui gère toutes les demandes adressées au serveur. Lorsqu'une demande est faite, le schéma agit comme le point de terminaison unique qui interagit avec le client. Le schéma accèdera aux données de la source de données, les traitera et les transmettra au client. Consultez l'infographie ci-dessous :

AWS AppSyncet GraphQL implémentent superbement des solutions Backend For Frontend (BFF). Ils travaillent en tandem pour réduire la complexité à grande échelle en faisant abstraction du backend. Si votre service utilise différentes sources de données et/ou microservices, vous pouvez essentiellement éliminer une partie de la complexité en définissant la forme des données de chaque source (sous-graphe) dans un schéma unique (supergraphe). Cela signifie que votre API GraphQL n'est pas limitée à l'utilisation d'une seule source de données. Vous pouvez associer autant de sources de données que vous le souhaitez à votre API GraphQL et spécifier dans votre code la manière dont elles interagiront avec le service.

Comme vous pouvez le voir dans l'infographie, le schéma GraphQL contient toutes les informations dont les clients ont besoin pour demander des données. Cela signifie que tout peut être traité en une seule demande plutôt que plusieurs requêtes comme c'est le cas avec REST. Ces demandes passent par le schéma, qui est le seul point de terminaison du service. Lorsque les demandes sont traitées, un résolveur (expliqué dans la section suivante) exécute son code pour traiter les données de la source de données correspondante. Lorsque la réponse est renvoyée, le sous-graphe lié à la source de données est rempli avec les données du schéma.

AWS AppSyncprend en charge de nombreux types de sources de données différents. Dans le tableau ci-dessous, nous allons décrire chaque type, énumérer certains de ses avantages et fournir des liens utiles pour plus de contexte.

Source de données Description Avantages Informations supplémentaires
Amazon DynamoDB « Amazon DynamoDB est un service de base de données NoSQL entièrement géré qui fournit des performances rapides et prévisibles avec une évolutivité sans faille. DynamoDB vous libère des charges administratives liées à l'exploitation et à la mise à l'échelle d'une base de données distribuée de façon que vous n'ayez pas à vous soucier de divers aspects tels que l'approvisionnement, le paramétrage, la configuration, la réplication, le matériel, les correctifs logiciels ou la mise à l'échelle de cluster. DynamoDB propose également le chiffrement au repos, ce qui élimine la charge opérationnelle et la complexité liées à la protection des données sensibles. »

  • Performances à grande échelle : DynamoDB est conçu pour garantir des performances constantes à n'importe quelle échelle. Cela est possible grâce à l'utilisation de partitions. DynamoDB partitionnera automatiquement vos tables en plusieurs allocations qui seront stockées sur plusieurs SSD répartis sur plusieurs nœuds. Cela permettra généralement d'augmenter le débit du réseau et de réduire la latence.

  • Capacité à grande échelle : DynamoDB surveille votre trafic et vous permet d'ajuster automatiquement votre débit si le réseau reste surchargé pendant de longues périodes.

  • Disponibilité et tolérance aux pannes : DynamoDB est pris en charge par plusieurs régions physiquement isolées, chacune contenant plusieurs zones de disponibilité physiquement isolées. DynamoDB bascule automatiquement vers une zone de sauvegarde en cas d'interruption de service. Vous pouvez également sauvegarder et répliquer vos données manuellement pour garantir la sécurité des données.

  • Journalisation et surveillance : DynamoDB fournit plusieurs outils d'analyse pour vos tables. Vous pouvez surveiller les performances de votre table et créer des alarmes pour vous informer des modifications importantes apportées au service.

  • Sécurité : DynamoDB suit des protocoles stricts pour garantir que vos données sont conformes aux exigences de sécurité de votre entreprise.

  • Intégration avec AWS AppSync : DynamoDB s'intègre parfaitement à notre service. Vous pouvez créer de nouvelles tables DynamoDB et générer automatiquement un schéma à partir de celles-ci afin de rationaliser votre processus de développement. Nous proposons également un ensemble complet d'opérations pour demander facilement des données à partir de tables DynamoDB existantes dans votre compte dans votre résolveur.

AWS Lambda « AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans provisionner ni gérer de serveurs.

Lambda exécute le code sur une infrastructure informatique à haute disponibilité et effectue toute l'administration des ressources informatiques, y compris la maintenance des serveurs et du système d'exploitation, l'allocation et la mise à l'échelle automatique des capacités, ainsi que la mise à l'échelle automatique et la journalisation. Avec Lambda, il vous suffit de fournir votre code dans l'un des environnements d'exécution de langage pris en charge par Lambda. »

  • ay-as-you-use Modèle P : Lambda ne vous facture que lorsque vous utilisez ses ressources. Ils vous permettent également d'adapter la quantité de ressources utilisées aux besoins de votre application.

  • Mise à l'échelle automatique : votre application peut parfois nécessiter une puissance de calcul supplémentaire pour un processus particulier. Lambda vous permet de dimensionner automatiquement les ressources informatiques en fonction des besoins de votre application.

  • Délais de déploiement accélérés : vous pouvez rationaliser votre processus de développement grâce à un package de déploiement. Utilisez un package pour télécharger votre code de fonction vers le service Lambda. Vous pouvez ensuite utiliser leurs environnements d'exécution pour tester et exécuter vos fonctions.

  • Polyvalence : Lambda peut être utilisé dans une multitude de cas d'utilisation. Vous pouvez intégrer Lambda en toute simplicité à des services tiers ou à des AWS services. Les pipelines CI/CD et les services de publipostage en sont quelques exemples.

  • Intégration avec AWS AppSync : Vous pouvez facilement invoquer vos fonctions Lambda dans votre résolveur pour traiter les demandes. Notre service fournit une opération de demande rationalisée pour effectuer des appels Lambda. Nous autorisons les appels uniques et groupés.

OpenSearch « Amazon OpenSearch Service est un service géré qui facilite le déploiement, l'exploitation et le dimensionnement de OpenSearch clusters dans le AWS cloud. Amazon OpenSearch Service prend en charge OpenSearch les anciens logiciels Elasticsearch OSS (jusqu'à la version 7.10, dernière version open source du logiciel). Lorsque vous créez un cluster, vous avez la possibilité de choisir le moteur de recherche que vous voulez utiliser.

OpenSearchest un moteur de recherche et d'analyse entièrement open source pour des cas d'utilisation tels que l'analyse des journaux, la surveillance des applications en temps réel et l'analyse du flux de clics. Pour en savoir plus, consultez la documentation OpenSearch.

Amazon OpenSearch Service fournit toutes les ressources pour votre OpenSearch cluster et le lance. Il détecte et remplace également automatiquement les nœuds de OpenSearch service défaillants, réduisant ainsi les frais associés aux infrastructures autogérées. Vous pouvez faire évoluer votre cluster en un seul appel d'API ou en quelques clics dans la console. »

  • Mise à l'échelle : vous pouvez facilement adapter le service à vos besoins grâce à OpenSearch Serverless.

  • Ingestion de données : vous pouvez utiliser OpenSearch l'ingestion pour importer, traiter et analyser des données. Il existe de nombreuses applications pour l'ingestion de données, que vous pouvez trouver ici.

  • Sécurité : OpenSearch peut gérer votre configuration AWS de sécurité, y compris l'IAM CloudTrail, les VPC, l'authentification, etc.

  • Disponibilité : prend OpenSearch également en charge différentes régions et zones de disponibilité dans son service.

  • Intégration avec AWS AppSync : Dans AWS AppSync, vous pouvez utiliser les API GraphQL pour stocker et récupérer des données à partir de domaines de OpenSearch service existants dans votre compte.

Points de terminaison HTTP Vous pouvez utiliser des points de terminaison HTTP comme sources de données. AWS AppSync peut envoyer des demandes aux points de terminaison avec les informations pertinentes telles que les paramètres et la charge utile. La réponse HTTP sera exposée au résolveur, qui renverra la réponse finale une fois ses opérations terminées.
  • Utile pour les applications simples qui ne sont pas aussi intégrées à des services tels que Lambda.

Amazon EventBridge « EventBridge  est un service sans serveur qui utilise des événements pour connecter les composants de l'application entre eux, ce qui vous permet de créer plus facilement des applications évolutives pilotées par des événements. Utilisez-le pour acheminer des événements provenant de sources telles que des applications locales, des AWS services et des logiciels tiers vers des applications grand public au sein de votre entreprise. EventBridge fournit un moyen simple et cohérent d'ingérer, de filtrer, de transformer et de diffuser des événements afin que vous puissiez créer rapidement de nouvelles applications. »

  • Architecture pilotée par les événements : vous pouvez tirer parti de l'architecture pilotée par les événements.

  • Planification : vous pouvez utiliser le EventBridge planificateur pour automatiser vos tâches et vos règles à l'aide d'expressions cron ou définir des intervalles de temps comme alternative aux modèles d'événements.

  • Canaux : à l' EventBridge aide de canaux, vous pouvez remplacer le bus d'événements par un canal qui inclut des modèles d'événements de filtrage supplémentaires et un enrichissement par le biais de transformations de données avant d'envoyer l'événement à la cible.

  • Intégration avec AWS AppSync : vous AWS AppSync permet d'envoyer des événements aux bus d'événements à l'aide de votre résolveur.

Bases de données relationnelles « Amazon Relational Database Service (Amazon RDS) est un service Web qui facilite la configuration, l'exploitation et le dimensionnement d'une base de données relationnelle dans le cloud. AWS Il fournit une capacité redimensionnable et rentable pour une base de données relationnelle standard et gère les tâches d'administration de base de données courantes. »

  • Gestion simplifiée : RDS effectue régulièrement la maintenance de ses ressources. La maintenance implique le plus souvent des mises à jour du matériel sous-jacent, du système d'exploitation sous-jacent ou de la version du moteur de base de données de l'instance de base de données. Dans des circonstances normales, vous pouvez décider à quel moment effectuer les mises à jour (les exceptions incluent les correctifs de sécurité).

  • Recommandations : La fonction de recommandation de RDS fournit des suggestions automatisées pour résoudre les problèmes potentiels de votre instance.

  • Disponibilité : RDS est disponible dans différentes régions physiques du monde entier. Vous pouvez facilement répartir vos besoins en matière de base de données sur différents nœuds afin de fournir un meilleur service à vos clients.

  • Personnalisation : RDS est conçu pour répondre aux exigences des grandes entreprises. RDS propose diverses options pour le calcul, le déploiement rapide, l'évolutivité et le stockage.

  • Sécurité : RDS est intégré à plusieurs outils et services pour maintenir la sécurité des bases de données au niveau de l'utilisateur, de la base de données et du réseau.

  • Intégration avec AWS AppSync : Si vous recherchez une solution de backend mature, elle vous AWS AppSync permet d'envoyer, de traiter, de stocker et de renvoyer des données en utilisant votre instance comme source de données.

Aucune source de données Si vous n'avez pas l'intention d'utiliser un service de source de données, vous pouvez le configurer surnone. Une source de none données, bien qu'elle soit toujours explicitement classée comme source de données, n'est pas un support de stockage. Malgré cela, il est toujours utile dans certains cas pour la manipulation et le transfert de données.
  • Potentiellement utile pour des choses comme la conversion de données

  • Utile pour résoudre un problème localement

Astuce

Pour plus d'informations sur la façon dont les sources de données interagissent avec ellesAWS AppSync, voir Joindre une source de données.