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.
Automatisez la génération d'événements de test Lambda à l'aide d'Amazon Bedrock AgentCore
Ishita Gupta et Kriti Gupta, Amazon Web Services
Résumé
Ce modèle propose une AI-powered approche permettant de générer automatiquement des scénarios de test complets pour les AWS Lambda fonctions à l'aide des capacités d'IA générative d'Amazon Bedrock. Ce modèle implémente une architecture à trois agents (Analyzer, Generator et Validator) déployée sur Amazon Bedrock AgentCore qui analyse le code réel de la fonction Lambda pour extraire input/output des modèles et génère des scénarios de test positifs, négatifs et marginaux avec des données réalistes.
L'architecture met en place un flux de travail intelligent dans lequel l'agent d'analyse extrait et analyse le code Lambda à l'aide d'Amazon Bedrock, l'agent générateur crée des cas de test sur la base de modèles appris et l'agent de validation garantit la qualité grâce à la déduplication et au classement. Une DynamoDB-based mémoire Amazon permet un apprentissage continu à partir des commentaires des utilisateurs, améliorant ainsi la précision de la génération des tests au fil du temps. Amazon Cognito fournit une authentification sécurisée des utilisateurs grâce à une autorisation d'API basée sur JSON Web Token (JWT). Amazon Bedrock Guardrails permet de filtrer rapidement les attaques, de supprimer les informations sensibles et de renforcer la sécurité du contenu pour tous les appels d'API Amazon Bedrock. Capacités clés :
Multi-Language Support : fonctions Python, Java, C# et Ruby Lambda JavaScript/TypeScript
Découpage intelligent du code : divise automatiquement les grandes bases de code en segments gérables à des fins d'analyse
Traitement parallèle : appels simultanés à l'API Amazon Bedrock pour une génération de tests plus rapide (5 travailleurs simultanés pour l'analyse du code, génération de tests parallèles par bloc)
Target-Specific Analyse : concentrez-vous sur des fonctions, des classes ou des fichiers spécifiques dans le code Lambda
Pattern Learning : stockage de DynamoDB-based mémoire Amazon avec stockage de modèles global et spécifique à une cible
Prévention des rejets : apprend des cas de test rejetés pour éviter les erreurs courantes
Mécanisme de continuation : gère les réponses Amazon Bedrock incomplètes avec une continuation automatique.
Ignorer les modèles : excluez les fichiers de test, les dépendances et les fichiers non liés au code de l'analyse.
Déploiement sans serveur : s'exécute sur Amazon Bedrock avec authentification AgentCore Cognito-based
Garde-corps de sécurité : Amazon Bedrock Guardrails pour un filtrage rapide des attaques, la rédaction des informations personnelles identifiables (PII), la sécurité du contenu et le blocage des sujets refusés sur tous les appels IA
Ce modèle est idéal pour les équipes de développement et les organisations qui souhaitent accélérer les tests Lambda, améliorer la couverture des tests et maintenir une qualité de code élevée grâce à la génération de AI-assisted tests. Ce modèle utilise les services gérés AWS pour simplifier la création de tests, améliorer la qualité grâce à l'apprentissage et évoluer pour répondre à l'évolution des besoins de test.
Conditions préalables et limitations
Prérequis
Pour implémenter ce modèle avec succès, assurez-vous que les éléments suivants sont en place :
Un compte AWS actif : compte AWS autorisé à accéder aux fonctions Lambda, à invoquer des modèles Amazon Bedrock, à créer des tables DynamoDB, à gérer des groupes d'utilisateurs Cognito et à déployer des agents Amazon Bedrock. AgentCore
Accès au modèle Amazon Bedrock : Anthropic Claude Sonnet 4 (us.anthropic.claude-sonnet-4-6) est activé dans votre région AWS. Pour les instructions de configuration, consultez la section Accès aux modèles dans la documentation https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html Amazon Bedrock.
Un environnement de développement composé des éléments suivants :
- L'interface de ligne de commande AWS est installée et configurée
- Git
pour cloner le dépôt Fonctions AWS Lambda : au moins une fonction Lambda déployée avec un code source accessible à des fins d'analyse. La fonction doit inclure des fichiers source (.py, .js, .java, .cs, .rb) dans le package de déploiement, et pas seulement du bytecode compilé.
Runtimes Lambda pris en charge :
- Python 3.x (toutes les versions)
- Node.js (JavaScript/TypeScript)
- Java 8, 11, 17, 21 (nécessite les fichiers source .java dans le package de déploiement)
- .NET Core/.NET 6+ (C#) (nécessite les fichiers source .cs dans le package de déploiement)
- Ruby 2.7 et 3.2
Restrictions
Cela nécessite l'accès au modèle Amazon Bedrock dans la région us-east-1 pour Claude Sonnet 4.6. Les fonctions AWS Lambda peuvent se trouver dans n'importe quelle région.
Les données de modèles dans Amazon DynamoDB expirent au bout de 90 jours (configurables via Time to Live (TTL)) afin de préserver leur pertinence et de contrôler les coûts.
Les fonctions Java et C# Lambda doivent inclure des fichiers source (.java, .cs) dans les packages de déploiement. Compiled-only les packages (.class, .dll) ne peuvent pas être analysés.
Le système met en œuvre une limitation du débit en mémoire par utilisateur (5 demandes par 60 secondes). Pour les déploiements distribués comportant plusieurs AgentCore instances, la limite de débit devrait être déplacée vers DynamoDB ou Redis pour des raisons de cohérence.
Certains services AWS ne sont pas disponibles dans toutes les régions AWS. Pour connaître la disponibilité des régions, consultez la section Services AWS par région
. Pour des points de terminaison spécifiques, consultez la page Points de terminaison et quotas du service, puis choisissez le lien correspondant au service.
Versions du produit
Anthropic Claude Sonnet 4 (us.anthropic.claude-sonnet-4-6)
bedrock-agentcore 1.4.7 ou version ultérieure
bedrock-agentcore-starter-toolkit 0.3.3 ou version ultérieure
Architecture
Architecture cible
Le schéma suivant montre l'architecture et le flux de travail de ce modèle :

Dans ce flux de travail :
L'utilisateur fournit des informations : le développeur interagit avec l'interface utilisateur Streamlit (app.py) exécutée localement, fournit le nom de la fonction Lambda, des instructions personnalisées facultatives pour la génération de tests, un filtre cible pour se concentrer sur des functions/classes fichiers /files spécifiques et ignore les modèles pour exclure les fichiers de test ou les dépendances.
Authentification Cognito : l'application authentifie la demande avec Cognito et renvoie JWT (ID/Access jeton) à Streamlit.
AgentCore Invocation de l'API : Streamlit invoque AgentCore l'API avec Bearer Token et charge utile (nom de la fonction, filtres, instructions, modèles d'ignorance).
Validation JWT : AgentCore l'API valide JWT à l'aide de la signature du jeton Cognito.
Routage des demandes : AgentCore l'API achemine la demande vers le flux de travail Lambda Test Generator (AgentCore Runtime).
Demande d'analyse de code : Analyzer Agent lance une requête pour récupérer le code et les métadonnées de la fonction Lambda cible.
Authentification AWS pour l'accès Lambda : Boto3 s'authentifie auprès d'AWS à l'aide du rôle d' AgentCore exécution, en demandant des autorisations d'accès en lecture.
Récupération et traitement du code AWS Lambda : le rôle IAM autorise l'accès et récupère le code de la fonction Lambda sous forme de fichier ZIP, extrait les fichiers sources, filtre les dépendances (node_modules, venv, etc.) et les fichiers non liés au code, applique des modèles d'ignorance définis par l'utilisateur et divise le code en parties gérables.
Authentification Amazon Bedrock : le client Amazon Bedrock Boto3 s'authentifie auprès d'AWS IAM pour accéder à Amazon Bedrock, en demandant les autorisations d'invocation du modèle pour utiliser Anthropic Claude Sonnet 4.6.
AI-Powered Analyse de code : le rôle IAM autorise et envoie des segments de code à Amazon Bedrock (us-east-1) à l'aide d'Anthropic Claude Sonnet 4 (us.anthropic.claude-sonnet-4-6) avec Amazon Bedrock Guardrail appliqué pour un filtrage rapide des attaques et la sécurité du contenu. Amazon Bedrock effectue une analyse améliorée Regex + LLM pour extraire les modèles d'entrée réels (par exemple, événement [« corps »], en-têtes [« Autorisation »]), les modèles de sortie (par exemple, StatusCode, structure du corps de la réponse), les dépendances, les modèles de gestion des erreurs et les cas limites du code.
Les résultats d'analyse sont regroupés : Analyzer Agent regroupe les résultats d'analyse dans un AnalysisResult objet contenant des morceaux de code, des modèles d'entrée, des modèles de sortie, des dépendances, des modèles d'erreur et des métadonnées, puis les transmet à l'agent générateur.
Le processus de génération des tests démarre : Generator Agent reçoit les résultats de l'analyse et lance une demande pour générer des cas de test, en interrogeant d'abord la mémoire DynamoDB pour les modèles historiques dont il faut tirer des enseignements.
Authentification Amazon DynamoDB pour l'accès à la mémoire : le client DynamoDB Boto3 s'authentifie auprès d'AWS IAM pour obtenir des autorisations d'accès en lecture afin de récupérer des modèles stockés.
Les modèles historiques sont extraits de la base de données : le rôle IAM autorise et interroge la table de stockage de mémoire DynamoDB (lambda-testcase-memory) pour récupérer les modèles précédemment acceptés et les modèles rejetés (tests échoués avec raisons de rejet) pour la fonction Lambda spécifique.
Authentification Amazon Bedrock pour la génération de tests : le client Amazon Bedrock Boto3 s'authentifie à nouveau avec AWS IAM pour accéder à Amazon Bedrock afin de générer des scénarios de test.
Génération de cas de test IA : le rôle IAM autorise et envoie les résultats d'analyse combinés à des modèles de mémoire à Amazon Bedrock. Amazon Bedrock génère des schémas de scénarios de test avec des événements d'entrée réalistes basés sur des modèles de code réels, créant des tests positifs (35 %), des tests négatifs (35 %) et des cas limites (30 %). La génération se fait en parallèle par bloc pour des raisons d'efficacité, applique les modèles appris à partir de la mémoire, évite les modèles rejetés et génère des segments si nécessaire pour les bases de code volumineuses. Tous les appels Bedrock converse () incluent GuardrailConfig pour le filtrage rapide des attaques, la rédaction des informations personnelles et l'application des sujets refusés.
La validation des tests commence : l'agent générateur transmet les scénarios de test candidats générés à l'agent de validation pour le contrôle qualité, la déduplication et la sélection finale.
Le processus de validation est configuré : l'agent de validation reçoit les candidats au test et lance le processus de validation en demandant l'accès à la mémoire DynamoDB à des fins de notation et de validation.
Authentification DynamoDB à des fins de validation : le client DynamoDB Boto3 s'authentifie auprès d'AWS IAM pour accéder en lecture aux modèles de mémoire des requêtes à des fins de notation de validation.
La qualité des tests est évaluée : le rôle IAM autorise et utilise la mémoire DynamoDB pour évaluer les cas de test en fonction des taux de réussite des modèles précédents, de la couverture des fonctions et de la complexité du code. Le validateur effectue une validation structurelle, une déduplication à l'aide du hachage de modèles, un score de qualité avec amélioration de la confiance pour les fonctions de gestion et la gestion des erreurs, une sélection de diversité pour couvrir différents segments et types de tests, et sélectionne les N cas de test les plus divers et de la plus haute qualité.
Scénarios de test finaux renvoyés à AgentCore : Validator Agent renvoie les scénarios de test validés finaux avec leurs métadonnées (scores de confiance, descriptions, événements d'entrée, catégories) à l'orchestrateur principal, qui les met en forme et les renvoie à l'API Amazon Bedrock AgentCore
Résultats transmis à l'interface utilisateur : l' AgentCore API renvoie les tests générés à l'interface utilisateur Streamlit pour les afficher avec le résumé de l'analyse, les métadonnées de génération et les détails des scénarios de test.
Les utilisateurs évaluent et fournissent des commentaires : le développeur examine les cas de test affichés dans Streamlit UI, évalue la qualité et la pertinence de chaque test, accepte les bons cas ou rejette les mauvais pour des raisons de rejet spécifiques (missing_auth_headers, wrong_status_code, unrealistic_data, missing_required_fields, incorrect_event_source, etc.) et ajoute des notes personnalisées facultatives expliquant le rejet, puis soumet des commentaires.
Les commentaires sont soumis au système : Streamlit UI envoie les commentaires collectés (accepted/rejected statut, raisons du rejet, notes personnalisées) à l' AgentCore API (save_feedback).
AgentCore achemine les commentaires : AgentCore l'API appelle l'agent Validator qui contient une logique permettant de stocker les commentaires dans DynamoDB.
Le processus de stockage des commentaires commence : l'agent de validation lance le processus de stockage des commentaires.
L'accès en écriture à DynamoDB est authentifié : le client DynamoDB Boto3 s'authentifie auprès d'AWS IAM (rôle d'AgentCore exécution) pour obtenir les autorisations d'accès en écriture afin de stocker les modèles de commentaires.
Les modèles d'apprentissage sont enregistrés : le rôle IAM autorise et enregistre les commentaires des utilisateurs dans la table de stockage en mémoire DynamoDB. Chaque modèle est stocké avec une clé de partition composite (function_name #target_function ou function_name #GLOBAL), une clé de tri composite (FEEDBACK# accepted/rejected #PATTERN #hash), un hachage de modèle pour la déduplication, un type de test, une structure de modèle de saisie, un statut de feedback, une raison du rejet (en cas de rejet), des notes personnalisées, un nombre d'utilisations, un taux de réussite, un horodatage et un TTL de 90 jours pour le nettoyage automatique. Ces données stockées permettent au système de tirer parti des commentaires des utilisateurs et d'améliorer la génération future de tests.
Automatisation et évolutivité
Ce modèle évolue automatiquement à l'aide des services gérés AWS. Amazon Bedrock gère l'inférence basée sur l'IA à la demande avec une fenêtre contextuelle de 200 000 jetons et une sortie de 64 000 jetons par appel, et Amazon DynamoDB utilise une facturation à la demande qui s'adapte automatiquement aux modèles de trafic. Le système utilise un traitement parallèle pour gagner en rapidité, l'agent Analyzer effectue 5 appels Bedrock simultanés pour analyser des segments de code (ThreadPoolExecutor avec max_workers=5), tandis que l'agent générateur traite des segments en parallèle avec 5 travailleurs simultanés. Un mécanisme de continuation gère les réponses incomplètes en réessayant automatiquement les demandes. La limitation du débit (5 demandes par 60 secondes par utilisateur) empêche les abus de coûts dus à des appels d'API Bedrock excessifs.
L'optimisation des coûts inclut un TTL-based nettoyage qui supprime les modèles datant de plus de 90 jours, des requêtes par clé composite avec begins_with () pour des recherches instantanées sans analyse des tables et des BatchWriteItem opérations qui réduisent les opérations d'écriture dans DynamoDB d'environ 90 %. Les performances dépendent de la taille de la fonction, les petites fonctions (moins de 10 fichiers) génèrent 10 scénarios de test en 30 à 60 secondes, les fonctions moyennes (10 à 50 fichiers) prennent 1 à 3 minutes et les fonctions volumineuses (plus de 50 fichiers) prennent 3 à 5 minutes, mais l'utilisation de filtres cibles pour se concentrer sur des sections de code spécifiques permet de réduire le temps de 50 à 70 %.
Outils
Services AWS
Amazon Bedrock
— Fournit des fonctionnalités d'IA génératives via Anthropic Claude Sonnet 4 pour l'analyse de code, la génération de tests, la validation et la synthèse des rejets. Utilise toujours la région us-east-1 pour accéder au modèle. Amazon Bedrock AgentCore : fournit un environnement d'exécution d'agent sans serveur pour le déploiement et l'hébergement du backend de génération de tests avec évolutivité, OAuth-based autorisation et observabilité automatiques. CloudWatch
Amazon Bedrock Guardrails
— Fournit un filtrage de ML-based sécurité sur tous les appels d'API Bedrock, y compris la détection rapide des attaques (niveau ÉLEVÉ), le filtrage du contenu, l'anonymisation des informations personnelles (e-mail, téléphone, nom), le blocage des keys/private keys/JWT jetons d'accès AWS et le refus d'application des sujets (génération de code d'exploitation, sortie de code source brut). Déployé via CloudFormation. AWS CloudFormation
— Automatise le provisionnement complet de l'infrastructure, y compris la table DynamoDB, le groupe d'utilisateurs Cognito, Amazon Bedrock Guardrail avec gestion des versions et le rôle d'exécution IAM pour. AgentCore Amazon Cognito — Fournit l'authentification des utilisateurs grâce à une inscription par e-mail, à l'émission de jetons JWT et à une autorisation API sécurisée pour le backend. AgentCore
Amazon DynamoDB
— Stocke les modèles de test acceptés et rejetés avec des statistiques d'utilisation pour un apprentissage et une amélioration continus. Utilise des clés composites (function_target, pattern_sk) pour les requêtes sans scan et le stockage de modèles spécifiques à la cible. AWS Lambda
— Source du code de fonction pour l'analyse, l' GetFunction API récupère le code et la configuration. L'outil prend en charge les environnements d'exécution Python Node.js, Java, .NET et Ruby.
Autres outils
Python 3.11+
— Environnement d'exécution pour l'orchestration des applications et des agents. Streamlit
: interface Web-based utilisateur pour l'authentification, la génération de tests, la collecte de commentaires et la surveillance de l'état du système. Boto3 : kit de développement logiciel AWS pour Python permettant d'interagir avec les services Lambda, Amazon Bedrock, DynamoDB et Cognito.
Référentiel de code
Le code de ce modèle est disponible dans Github - Lambda Test Event Generator.
Bonnes pratiques
Ce modèle met en œuvre les meilleures pratiques suivantes :
Utilise les politiques IAM du moindre privilège pour l'accès à AWS Lambda (lecture seule), Amazon Bedrock (appel), Amazon DynamoDB () et Amazon Cognito (query/writeauthentification).
Implémentez l'apprentissage de modèles spécifiques à la cible avec une solution de repli globale pour améliorer la précision des tests.
Activez DynamoDB TTL pour le nettoyage automatique des anciens modèles (90 jours) afin de contrôler les coûts de stockage.
Utilisez des requêtes à balayage zéro avec des clés composites (function_target, pattern_sk) pour une récupération rapide des modèles.
Appliquez des modèles d'ignorance pour exclure les fichiers de test, les dépendances et les fichiers non liés au code de l'analyse.
Utilisez le découpage de code multilingue avec l'analyse syntaxique abstraite (AST) (Python) et les modèles regex (Java, C#, JS, Ruby).
Stockez les modèles avec des valeurs réelles (pas seulement une structure) pour une véritable déduplication.
Déployez le backend sur Amazon Bedrock AgentCore pour une évolutivité sans serveur et une infrastructure gérée.
Authentifiez les utilisateurs via Amazon Cognito grâce à la validation des jetons JWT à chaque demande d'API.
Appliquez Amazon Bedrock Guardrails à tous les appels converse () afin de filtrer rapidement les attaques, de supprimer les informations personnelles, de bloquer les données sensibles (clés AWS, clés privées, JWT) et de refuser l'application des sujets.
Nettoyez les résultats d'analyse avant de les renvoyer aux utilisateurs : tous les segments de code source brut sont supprimés des réponses, garantissant ainsi que le code source Lambda ne quitte jamais les AgentCore limites d'exécution.
Validez toutes les entrées de l'API avec des modèles regex et des limites de longueur (nom de fonction maximum 170 caractères, instructions personnalisées maximum 2 000 caractères, maximum 50 modèles ignorés) pour éviter les injections et les abus.
Implémentez une limite de débit par utilisateur (5 demandes par 60 secondes) pour éviter les abus de coûts dus à des appels d'API Bedrock excessifs.
Nettoyez les messages d'erreur avant de les renvoyer aux utilisateurs : les chemins de fichiers internes, les détails du SDK AWS et les informations d'infrastructure ne sont jamais exposés dans les réponses d'erreur.
Tenez compte des meilleures pratiques supplémentaires suivantes :
Fournissez des raisons de feedback spécifiques lorsque vous rejetez des cas de test afin d'améliorer la précision de l'apprentissage.
Générez des tests de manière itérative (2 à 3 fois) pour la même fonction afin de permettre au système d'apprendre et de s'améliorer.
Fournissez des instructions personnalisées lorsque vous avez besoin de scénarios de test ou de formats de données spécifiques.
Activez IAM Access Analyzer pour surveiller les autorisations des ressources et identifier les accès involontaires.
Commencez par de petites fonctions Lambda pour comprendre le système avant d'analyser de grandes bases de code.
Passez régulièrement en revue les politiques IAM et supprimez les autorisations non utilisées.
Utilisez des politiques de mots de passe strictes et activez Cognito AdvancedSecurityMode pour la détection des menaces.
Epopées
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Pour cloner le référentiel. | Clonez le GitHub référentiel sur votre système local et accédez au répertoire du projet :
Ce référentiel contient l'application Python, le CloudFormation modèle et les fichiers de configuration. | Développeur d’applications |
Configurez les informations d'identification AWS. | Configurez vos informations d'identification AWS pour permettre à l'AWS CLI d'interagir avec votre compte AWS et pour permettre à l'application d'accéder aux fonctions Lambda que vous souhaitez tester. Vous pouvez le faire à l'aide de la commande de configuration de l'interface de ligne de commande AWS :
Lorsque vous y êtes invité, fournissez les informations suivantes :
| Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Déployez l'infrastructure en utilisant CloudFormation. |
Ce qui est créé :
NoteLa pile crée toutes les ressources nécessaires. Assurez-vous que le CloudFormation modèle est correctement rempli avant de passer à l'étape suivante. | Développeur d’applications |
Exportez les variables de configuration. | Exportez toutes les valeurs des sorties de la CloudFormation pile en tant que variables d'environnement :
Ces variables sont utilisées dans les étapes suivantes pour la AgentCore configuration et la création du fichier .env. | Administrateur AWS |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Créez un environnement virtuel. |
| Développeur d’applications |
Configurez et déployez AgentCore. |
| Développeur d’applications |
Créez un fichier .env pour le développement local. | Créez un fichier .env dans le répertoire racine du projet avec toutes les valeurs de configuration :
Testez la connectivité aux services AWS :
Les deux commandes doivent renvoyer des réponses correctes. Si vous rencontrez des erreurs d'autorisation, vérifiez que les politiques IAM sont correctement configurées. | Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Créez un nouvel utilisateur Cognito. | Le groupe d'utilisateurs Cognito est configuré avec la création d'utilisateurs réservés aux administrateurs pour des raisons de sécurité, de sorte que les utilisateurs ne peuvent pas s'enregistrer eux-mêmes. Créez un utilisateur via l'AWS CLI à l'aide de l'ID du pool Cognito et de l'ID client exportés à partir des sorties de la CloudFormation pile. Créez un nouvel utilisateur (remplacez-le
Définissez un mot de passe permanent (au moins 8 caractères, dont des majuscules, des minuscules et un chiffre) :
Utilisez ces informations d'identification pour vous connecter via l'interface utilisateur Streamlit à l'étape suivante. | Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Lancez l'interface utilisateur Streamlit. | Démarrez l'application :
L'interface utilisateur s'ouvrira dans votre navigateur par défaut à Connectez-vous avec les informations d'identification créées à l'étape précédente | Développeur d’applications |
Configuration des options de génération | Dans l'interface utilisateur, configurez les options suivantes :
| Développeur d’applications |
Générez des cas de test. | Cliquez sur le bouton « Générer des cas de test ». Le système va :
| Développeur d’applications |
Passez en revue les tests générés. | Passez en revue chaque scénario de test généré, qui inclut :
| DevOps ingénieur, développeur d'applications |
Fournissez des commentaires. | Pour chaque cas de test, donnez votre avis : Pour accepter un scénario de test :
Pour rejeter un scénario de test :
| Ingénieur d'essais |
Enregistrez les commentaires dans la mémoire. | Après avoir examiné tous les cas de test :
| Ingénieur d'essais |
Répétez pour vous améliorer. | Générez des tests 2 à 3 fois de plus pour la même fonction afin d'améliorer la qualité :
NoteLe système d'apprentissage devient plus efficace avec une utilisation répétée. Chaque cycle de feedback aide l'IA à comprendre vos préférences en matière de test et à générer des scénarios de test plus pertinents pour vos fonctions Lambda. | Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Invoquez directement AgentCore l'API. | À des fins d'automatisation et d'intégration, appelez le AgentCore backend directement à l'aide d'appels d'API avec authentification Cognito. Obtenez un jeton Cognito :
Invoquez la génération de tests :
Ou en utilisant curl :
| Développeur d’applications |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Surveillez les modèles DynamoDB et suivez les coûts. |
NoteUn suivi régulier permet d'identifier les opportunités d'optimisation des coûts et garantit que le système continue d'apprendre efficacement. La configuration TTL de votre table DynamoDB supprime automatiquement les anciens modèles, ce qui permet de gérer les coûts de stockage au fil du temps. | Administrateur AWS |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Supprimez les ressources déployées. | Pour supprimer toutes les ressources déployées : Supprimez l' AgentCore agent :
Supprimez la CloudFormation pile (supprime la table DynamoDB, le groupe d'utilisateurs Cognito et le rôle IAM) :
| Administrateur AWS |
Résolution des problèmes
| Problème | Solution |
|---|---|
Erreur « Accès refusé » lors de la récupération du code Lambda |
|
« Erreurs d'écriture dans DynamoDB » |
|
Aucun cas de test généré | Causes possibles et solutions :
|
Java/C# Lambda affiche « Aucun code source trouvé » | Les Lambdas Java et C# nécessitent des fichiers source dans le package de déploiement : Java (Maven) :
C# (.NET) :
|
Erreurs d'écriture dans DynamoDB |
|
Génération de tests lente | Optimisez la vitesse de génération :
|
AgentCore: « Agent introuvable » | Vérifiez que l'agent est déployé :
|
AgentCore: « Autorisation refusée » lors de l'exécution | Vérifiez que le rôle d'exécution possède les bonnes politiques :
|
Cognito : « Nom d'utilisateur ou mot de passe non valide » | Vérifiez que vos informations d'identification sont correctes. Vous pouvez créer un nouvel utilisateur à l'aide du flux « Créer un compte » de l'interface utilisateur Streamlit ou via l'AWS CLI :
|
Avertissement « Bedrock Guardrail non configuré » dans les journaux | Vérifiez Vérifiez les CloudFormation sorties :
|
Erreur « Limite de débit dépassée » | Le système limite à 5 demandes par utilisateur toutes les 60 secondes. Attendez le temps indiqué avant de réessayer. Pour une utilisation en production avec des besoins de débit plus élevés, ajustez |
Ressources connexes
Documentation AWS