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.
Choisir entre l'accès direct à la source de données et le proxy via une source de données Lambda
Avec AWS AppSync et le APPSYNC_JS moteur d'exécution, vous pouvez écrire votre propre code qui implémente votre logique métier personnalisée en utilisant des AWS AppSync fonctions permettant d'accéder à vos sources de données. Cela vous permet d'interagir directement avec des sources de données telles qu'Amazon DynamoDB, Aurora Serverless, OpenSearch Service, les API HTTP et d'autres AWS services sans avoir à déployer de services ou d'infrastructures informatiques supplémentaires. AWS AppSync facilite également l'interaction avec une AWS Lambda fonction en configurant une source de données Lambda. Les sources de données Lambda vous permettent d'exécuter une logique métier complexe en utilisant AWS Lambda l'ensemble complet des fonctionnalités de résolution d'une requête GraphQL. Dans la plupart des cas, une AWS AppSync fonction directement connectée à sa source de données cible fournira toutes les fonctionnalités dont vous avez besoin. Dans les situations où vous devez implémenter une logique métier complexe qui n'est pas prise en charge par le APPSYNC_JS moteur d'exécution, vous pouvez utiliser une source de données Lambda comme proxy pour interagir avec votre source de données cible.
| Intégration directe des sources de données | Source de données Lambda en tant que proxy | |
| Cas d'utilisation | AWS AppSync les fonctions interagissent directement avec les sources de données de l'API. | AWS AppSync les fonctions appellent des Lambdas qui interagissent avec les sources de données d'API. |
| Environnement d’exécution | APPSYNC_JS (JavaScript) |
Tout environnement d'exécution Lambda pris en charge |
| Taille maximale du code | 32 000 caractères par fonction AWS AppSync | 50 Mo (zippé, pour téléchargement direct) par Lambda |
| Modules externes | Limité : fonctionnalités prises en charge par APPSYNC_JS uniquement | Oui |
| Appelez n'importe quel AWS service | Oui - Utilisation d'une source de données AWS AppSync HTTP | Oui, à l'aide du AWS SDK |
| Accès à l'en-tête de la demande | Oui | Oui |
| Accès réseau | Non | Oui |
| Accès au système de fichiers | Non | Oui |
| Journalisation et statistiques | Oui | Oui |
| Créez et testez entièrement dans AppSync | Oui | Non |
| Démarrage à froid | Non | Non - Avec accès simultané provisionné |
| Auto-scaling | Oui, de manière transparente par AWS AppSync | Oui, tel que configuré dans Lambda |
| Tarification | Sans frais supplémentaires | Facturé pour l'utilisation de Lambda |
AWS AppSync les fonctions qui s'intègrent directement à leur source de données cible sont idéales pour les cas d'utilisation tels que les suivants :
-
Interaction avec Amazon DynamoDB, Aurora Serverless et Service OpenSearch
-
Interaction avec les API HTTP et transmission d'en-têtes entrants
-
Interaction avec AWS les services à l'aide de sources de données HTTP (avec signature AWS AppSync automatique des demandes avec le rôle de source de données fourni)
-
Mettre en œuvre le contrôle d'accès avant d'accéder aux sources de données
-
Mettre en œuvre le filtrage des données récupérées avant de répondre à une demande
-
Implémentation d'une orchestration simple avec exécution séquentielle de AWS AppSync fonctions dans un pipeline de résolution
-
Contrôle de la mise en cache et des connexions d'abonnement dans les requêtes et les mutations.
AWS AppSync les fonctions qui utilisent une source de données Lambda comme proxy sont idéales pour les cas d'utilisation suivants :
-
Utilisation d'un langage autre que JavaScript le Velocity Template Language (VTL)
-
Réglage et contrôle du processeur ou de la mémoire pour optimiser les performances
-
Importation de bibliothèques tierces ou utilisation de fonctionnalités non prises en charge dans
APPSYNC_JS -
Effectuer plusieurs requêtes réseau and/or pour obtenir l'accès au système de fichiers pour répondre à une requête
-
Requêtes par lots à l'aide de la configuration de traitement par lots.