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.
API de test de charge distribuée
Cette solution de test de charge vous permet d'exposer les données des résultats de test de manière sécurisée. L'API fait office de « porte d'entrée » pour accéder aux données de test stockées dans Amazon DynamoDB. Vous pouvez également utiliser le APIs pour accéder à toutes les fonctionnalités étendues que vous intégrez à la solution.
Cette solution utilise un groupe d'utilisateurs Amazon Cognito intégré à Amazon API Gateway pour l'identification et l'autorisation. Lorsqu'un groupe d'utilisateurs est utilisé avec l'API, les clients ne sont autorisés à appeler les méthodes activées par le groupe d'utilisateurs qu'après avoir fourni un jeton d'identité valide.
Pour plus d'informations sur l'exécution de tests directement via l'API, consultez la section Signing Requests dans la documentation de référence de l'API REST Amazon API Gateway.
Les opérations suivantes sont disponibles dans l'API de la solution.
Note
Pour plus d'informations testScenario et d'autres paramètres, reportez-vous aux scénarios
Informations sur la pile
Scénarios
Tests
Base de référence
Tâches
Régions
OBTENIR /stack-info
Description
L'GET /stack-infoopération récupère des informations sur la pile déployée, notamment l'heure de création, la région et la version. Ce point de terminaison est utilisé par le front-end.
Réponse
200 - Succès
| Nom | Description |
|---|---|
|
|
Horodatage ISO 8601 lors de la création de la pile (par exemple,) |
|
|
Région AWS dans laquelle la pile est déployée (par exemple, |
|
|
Version de la solution déployée (par exemple, |
Réponses aux erreurs
-
403- Interdit : autorisations insuffisantes pour accéder aux informations de la pile -
404- Introuvable : les informations relatives à la pile ne sont pas disponibles -
500- Erreur interne du serveur
GET /scénarios
Description
L'GET /scenariosopération permet de récupérer une liste de scénarios de test.
Réponse
| Nom | Description |
|---|---|
|
|
Une liste de scénarios comprenant l'ID, le nom, la description, le statut, la durée d'exécution, les balises, le nombre total d'essais et la dernière exécution de chaque test |
POST /scénarios
Description
L'POST /scenariosopération permet de créer ou de planifier un scénario de test.
Corps de la demande
| Nom | Description |
|---|---|
|
|
Le nom du test |
|
|
Description du test |
|
|
Un objet qui spécifie |
|
|
La définition du test, y compris la simultanéité, la durée du test, l'hôte et la méthode du test |
|
|
Le type de test (par exemple |
|
|
Le type de fichier de téléchargement (par exemple, |
|
|
Un tableau de chaînes permettant de classer les tests. Champ facultatif d'une longueur maximale de 5 (par exemple, |
|
|
Date d'exécution d'un test. Fourni uniquement si vous planifiez un test (par exemple, |
|
|
C'est le moment d'effectuer un test. Fourni uniquement si vous planifiez un test (par exemple, |
|
|
Étape du processus de planification. Fourni uniquement si vous planifiez un test récurrent. (Les étapes disponibles incluent |
|
|
La valeur cron pour personnaliser la planification récurrente. Le cas échéant, omettez ScheduleDate et ScheduleTime. |
|
|
Date requise pour que le cron expire et ne s'exécute pas indéfiniment. |
|
|
Récurrence d'un test programmé. Fourni uniquement si vous planifiez un test récurrent (par exemple |
Réponse
| Nom | Description |
|---|---|
|
|
L'identifiant unique du test |
|
|
Le nom du test |
|
|
État du test |
OPTIONS/SCÉNARIOS
Description
L'OPTIONS /scenariosopération fournit une réponse à la demande avec les en-têtes de réponse CORS corrects.
Réponse
| Nom | Description |
|---|---|
|
|
L'identifiant unique du test |
|
|
Le nom du test |
|
|
État du test |
OBTENEZ /scenarios/ {testId}
Description
L'GET /scenarios/{testId}opération permet de récupérer les détails d'un scénario de test spécifique.
Paramètres de demande
-
testId -
-
L'identifiant unique du test
Type : String
Obligatoire : oui
-
-
latest -
-
Paramètre de requête pour renvoyer uniquement le dernier test effectué. La valeur par défaut est
trueType : booléen
Obligatoire : non
-
-
history -
-
Paramètre de requête pour inclure l'historique des tests dans la réponse. La valeur par défaut est
true. Régler surfalsepour exclure l'historiqueType : booléen
Obligatoire : non
-
Réponse
| Nom | Description |
|---|---|
|
|
L'identifiant unique du test |
|
|
Le nom du test |
|
|
Description du test |
|
|
Le type de test qui est exécuté (par exemple |
|
|
Type de fichier chargé (par exemple, |
|
|
Un tableau de chaînes pour classer les tests |
|
|
État du test |
|
|
L'heure et la date du début du dernier test |
|
|
L'heure et la date de fin du dernier test |
|
|
La définition du test, y compris la simultanéité, la durée du test, l'hôte et la méthode du test |
|
|
Le nombre de tâches nécessaires pour exécuter le test |
|
|
Une liste de tâches IDs pour exécuter des tests |
|
|
Les résultats finaux du test |
|
|
Une liste des résultats finaux des tests passés (exclus lorsque |
|
|
Le nombre total de tests pour ce scénario |
|
|
L'horodatage du dernier test |
|
|
Un message d'erreur généré lorsqu'une erreur se produit |
|
|
La prochaine exécution planifiée (par exemple, |
|
|
La récurrence du test (par exemple,, |
POST /scenarios/ {testId}
Description
L'POST /scenarios/{testId}opération permet d'annuler un scénario de test spécifique.
Paramètre de demande
-
testId -
-
L'identifiant unique du test
Type : String
Obligatoire : oui
-
Réponse
| Nom | Description |
|---|---|
|
|
État du test |
SUPPRIMER /scenarios/ {testId}
Description
L'DELETE /scenarios/{testId}opération permet de supprimer toutes les données relatives à un scénario de test spécifique.
Paramètre de demande
-
testId -
-
L'identifiant unique du test
Type : String
Obligatoire : oui
-
Réponse
| Nom | Description |
|---|---|
|
|
État du test |
OPTIONS /scénarios/ {testId}
Description
L'OPTIONS /scenarios/{testId}opération fournit une réponse à la demande avec les en-têtes de réponse CORS corrects.
Réponse
| Nom | Description |
|---|---|
|
|
L'identifiant unique du test |
|
|
Le nom du test |
|
|
Description du test |
|
|
Le type de test qui est exécuté (par exemple |
|
|
Type de fichier chargé (par exemple, |
|
|
État du test |
|
|
L'heure et la date du début du dernier test |
|
|
L'heure et la date de fin du dernier test |
|
|
La définition du test, y compris la simultanéité, la durée du test, l'hôte et la méthode du test |
|
|
Le nombre de tâches nécessaires pour exécuter le test |
|
|
Une liste de tâches IDs pour exécuter des tests |
|
|
Les résultats finaux du test |
|
|
Une liste des résultats finaux des tests passés |
|
|
Un message d'erreur généré lorsqu'une erreur se produit |
GET /scenarios/ {testId} /testruns
Description
L'GET /scenarios/{testId}/testrunsopération récupère le test exécuté IDs pour un scénario de test spécifique, éventuellement filtré par plage de temps. Whenlatest=true, renvoie uniquement le test le plus récent.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
-
latest -
-
Renvoie uniquement l'ID de test le plus récent
Type : booléen
Par défaut:
falseObligatoire : non
-
-
start_timestamp -
-
Horodatage ISO 8601 à partir duquel filtrer les essais (inclus). Par exemple,
2024-01-01T00:00:00ZType : chaîne (format date-heure)
Obligatoire : non
-
-
end_timestamp -
-
Horodatage ISO 8601 pour filtrer les essais jusqu'au (inclus). Par exemple,
2024-12-31T23:59:59ZType : chaîne (format date-heure)
Obligatoire : non
-
-
limit -
-
Nombre maximum de tests à renvoyer (ignoré lorsque
latest=true)Type : entier (minimum : 1, maximum : 100)
Par défaut:
20Obligatoire : non
-
-
next_token -
-
Jeton de pagination de la réponse précédente pour accéder à la page suivante
Type : chaîne
Obligatoire : non
-
Réponse
200 - Succès
| Nom | Description |
|---|---|
|
|
Tableau d'objets de test, chacun contenant |
|
|
Objet contenant |
Réponses aux erreurs
-
400- Format ou paramètres d'horodatage non valides -
404- Scénario de test introuvable -
500- Erreur interne du serveur
Exemple d’utilisation
-
Dernier test effectué uniquement :
GET /scenarios/test123/testruns?latest=true -
Plus récent dans l'intervalle de temps :
GET /scenarios/test123/testruns?latest=true&start_timestamp=2024-01-01T00:00:00Z -
Demande de page suivante :
GET /scenarios/test123/testruns?limit=20&next_token=eyJ0ZXN0SWQiOiJzZVFVeTEyTEtMIiwic3RhcnRUaW1lIjoiMjAyNC0wMS0xM1QxNjo0NTowMFoifQ==
GET /scenarios/ {testId} /testruns/ {} testRunId
Description
L'GET /scenarios/{testId}/testruns/{testRunId}opération récupère les résultats complets et les métriques d'un essai spécifique. Vous pouvez éventuellement omettre les résultats de l'historique history=false pour une réponse plus rapide.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
-
testRunId -
-
L'ID de cycle de test spécifique
Type : String
Obligatoire : oui
-
-
history -
-
Incluez un tableau d'historique en réponse. Réglez sur
falsepour omettre l'historique afin d'accélérer la réponseType : booléen
Par défaut:
trueObligatoire : non
-
Réponse
200 - Succès
| Nom | Description |
|---|---|
|
|
L'identifiant unique du test (par exemple, |
|
|
L'ID d'exécution de test spécifique (par exemple, |
|
|
Description du test de charge |
|
|
Le type de test (par exemple |
|
|
État du test : |
|
|
L'heure et la date de début du test (par exemple, |
|
|
L'heure et la date de fin du test (par exemple, |
|
|
Pourcentage de réussite (par exemple, |
|
|
Tableau d'objets de configuration de tâches contenant |
|
|
Objet mappant les régions au nombre de tâches achevées |
|
|
Objet contenant des métriques détaillées, notamment |
|
|
Objet contenant la configuration de test avec |
|
|
Tableau des résultats de tests historiques (exclus lorsque |
Réponses aux erreurs
-
400- TestID non valide ou testRunId -
404- Le test est introuvable -
500- Erreur interne du serveur
SUPPRIMER /scenarios/ {testId} /testruns/ {} testRunId
Description
L'DELETE /scenarios/{testId}/testruns/{testRunId}opération supprime toutes les données et tous les artefacts liés à un essai spécifique. Les données de test sont supprimées de DynamoDB, tandis que les données de test réelles dans S3 restent inchangées.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
-
testRunId -
-
L'ID de test spécifique à supprimer
Type : String
Obligatoire : oui
-
Réponse
204 - Succès
Le test a été supprimé avec succès (aucun contenu renvoyé)
Réponses aux erreurs
-
400- TestID non valide ou testRunId -
403- Interdit : autorisations insuffisantes pour supprimer le test -
404- Le test est introuvable -
409- Conflit : le test est en cours et ne peut pas être supprimé -
500- Erreur interne du serveur
GET /scenarios/ {testId} /baseline
Description
L'GET /scenarios/{testId}/baselineopération récupère le résultat du test de référence désigné pour un scénario. Renvoie soit l'ID d'exécution du test de référence, soit les résultats complets de la ligne de base en fonction du data paramètre.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
-
data -
-
Renvoie les données complètes du cycle de test de référence si
true, sinon, uniquement testRunIdType : booléen
Par défaut:
falseObligatoire : non
-
Réponse
200 - Succès
Quand data=false (par défaut) :
| Nom | Description |
|---|---|
|
|
L'ID du scénario de test (par exemple, |
|
|
L'ID d'exécution du test de référence (par exemple, |
Quand data=true :
| Nom | Description |
|---|---|
|
|
L'ID du scénario de test (par exemple, |
|
|
L'ID d'exécution du test de référence (par exemple, |
|
|
Objet complet des résultats de test (même structure que |
Réponses aux erreurs
-
400- Paramètre TestID non valide -
404- Scénario de test introuvable ou aucun scénario de référence défini -
500- Erreur interne du serveur
PUT /scenarios/ {testID} /baseline
Description
L'PUT /scenarios/{testId}/baselineopération désigne un essai spécifique comme base de référence pour la comparaison des performances. Une seule référence peut être définie par scénario.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
Corps de la demande
| Nom | Description |
|---|---|
|
|
L'ID d'exécution du test à définir comme référence (par exemple, |
Réponse
200 - Succès
| Nom | Description |
|---|---|
|
|
Message de confirmation (par exemple, |
|
|
L'ID du scénario de test (par exemple, |
|
|
L'ID d'exécution du test de référence qui a été défini (par exemple, |
Réponses aux erreurs
-
400- TestID non valide ou testRunId -
404- Scénario de test ou exécution de test introuvable -
409- Conflit : le test ne peut pas être défini comme référence (par exemple, échec du test) -
500- Erreur interne du serveur
SUPPRIMER /scenarios/ {testId} /baseline
Description
L'DELETE /scenarios/{testId}/baselineopération efface la valeur de référence d'un scénario en la définissant sur une chaîne vide.
Paramètres de demande
-
testId -
-
L'ID du scénario de test
Type : String
Obligatoire : oui
-
Réponse
204 - Succès
La ligne de base a été correctement effacée (aucun contenu renvoyé)
Réponses aux erreurs
-
400- Identifiant de test non valide -
500- Erreur interne du serveur
GET /tâches
Description
L'GET /tasksopération vous permet de récupérer une liste des tâches Amazon Elastic Container Service (Amazon ECS) en cours d'exécution.
Réponse
| Nom | Description |
|---|---|
|
|
Une liste de tâches IDs pour exécuter des tests |
OPTIONS /tâches
Description
L'opération OPTIONS /tasks des tâches fournit une réponse à la demande avec les en-têtes de réponse CORS corrects.
Réponse
| Nom | Description |
|---|---|
|
|
Une liste de tâches IDs pour exécuter des tests |
GET /régions
Description
L'GET /regionsopération vous permet de récupérer les informations sur les ressources régionales nécessaires pour exécuter un test dans cette région.
Réponse
| Nom | Description |
|---|---|
|
|
L'ID de région |
|
|
Le nom du groupe de CloudWatch journaux Amazon pour les tâches Amazon Fargate dans la région |
|
|
La région dans laquelle se trouvent les ressources du tableau |
|
|
L'ID de l'un des sous-réseaux de la région |
|
|
L'ID de l'un des sous-réseaux de la région |
|
|
Le nom du cluster AWS Fargate de la région |
|
|
L'ARN de la définition de tâche dans la région |
|
|
Le nom de l'image de la tâche dans la région |
|
|
L'ID du groupe de sécurité dans la région |
OPTIONS /régions
Description
L'OPTIONS /regionsopération fournit une réponse à la demande avec les en-têtes de réponse CORS corrects.
Réponse
| Nom | Description |
|---|---|
|
|
L'ID de région |
|
|
Le nom du groupe de CloudWatch journaux Amazon pour les tâches Amazon Fargate dans la région |
|
|
La région dans laquelle se trouvent les ressources du tableau |
|
|
L'ID de l'un des sous-réseaux de la région |
|
|
L'ID de l'un des sous-réseaux de la région |
|
|
Le nom du cluster AWS Fargate de la région |
|
|
L'ARN de la définition de tâche dans la région |
|
|
Le nom de l'image de la tâche dans la région |
|
|
L'ID du groupe de sécurité dans la région |