View a markdown version of this page

Utilisation EventBridge avec AWS HealthOmics - AWS HealthOmics

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.

Utilisation EventBridge avec AWS HealthOmics

HealthOmics envoie des événements à Amazon EventBridge lorsque l'état des ressources change. Les ressources incluent les tâches d'importation, les tâches d'exportation, les partages de ressources, les flux de travail, les tâches et les exécutions. Pour chaque type de ressource, il existe une liste des changements de statut qui génèrent un événement.

Un bus d'événements est un routeur qui reçoit des événements et les transmet à des destinations. Votre compte inclut un bus d'événements par défaut qui reçoit automatiquement les événements des AWS services. Vous pouvez créer des bus événementiels personnalisés supplémentaires.

Vous créez des EventBridge règles pour spécifier les actions à effectuer lorsque le bus d'événements reçoit des événements. Par exemple, vous pouvez créer une règle qui vous informe des changements de statut d'une ressource.

Les scénarios courants d'utilisation des événements incluent :

  • Pour contrôler le moment où un utilisateur partage une ressource avec vous ou révoque le partage.

  • Pour vérifier si une exécution échoue ou se termine correctement.

Pour plus d'informations sur l'utilisation EventBridge, consultez Qu'est-ce qu'Amazon EventBridge ?

Configurer EventBridge pour HealthOmics

Avant de pouvoir surveiller les EventBridge événements, créez un EventBridge bus et créez des règles pour les événements qui vous intéressent.

Configurer un EventBridge bus

Vous pouvez utiliser le bus d'événements par défaut pour vous Compte AWS ou configurer un bus d'événements personnalisé. Pour configurer un bus d'événements personnalisé, procédez comme suit :

  1. Ouvrez la EventBridge console : https://console.aws.amazon.com/events/.

  2. Dans la barre de navigation de gauche, sélectionnez Event buses.

  3. Choisissez Create event bus (Créer un bus d’événement).

  4. Dans le formulaire Créer un bus d'événements, entrez un nom pour le bus.

  5. Choisissez Créer pour créer le bus.

Création d'une EventBridge règle

La procédure suivante montre comment créer une règle simple. Pour plus d'informations sur les règles, voir Règles dans EventBridge.

  1. Ouvrez la EventBridge console : https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation de gauche, choisissez Règles.

  3. Choisissez Créer une règle. La console ouvre le formulaire Créer une règle.

  4. Dans Définir les détails de la règle, donnez un nom à la règle.

    • Dans le champ Nom, entrez le nom du bus.

    • Pour Event bus, sélectionnez le bus pour cette règle.

    • Choisissez Suivant.

  5. Dans Créer un modèle d'événement, sous Source de l'événement, sélectionnez Événements AWS ou événements EventBridge partenaires.

  6. Faites défiler la page jusqu'à Modèle d'événement.

    1. Dans Source de l'événement, sélectionnez Services AWS.

    2. Pour le service AWS, saisissez des données omiques dans le filtre de texte et sélectionnez-les AWS HealthOmics comme service.

    3. Dans Type d'événement, sélectionnez l'événement qui vous intéresse (ou Tous les événements).

    4. Choisissez Suivant.

  7. Dans Sélectionner une ou plusieurs cibles, sélectionnez une cible pour l'événement. Par exemple, choisissez le service AWS, le groupe de CloudWatch journaux choisi et configurez un groupe de journaux.

    Pour de nombreux types de cible, EventBridge a besoin d'une autorisation pour envoyer des événements à la cible. La console crée ces autorisations pour vous.

  8. (Facultatif) Dans Configurer les balises, associez les balises à la règle.

  9. Dans Réviser et mettre à jour, vérifiez la configuration et choisissez Créer une règle.

EventBridge événements en HealthOmics

Le tableau suivant répertorie les événements HealthOmics envoyés à EventBridge, ainsi que la liste des valeurs d'état possibles pour l'événement.

Nom de l’événement Valeurs d'état possibles
Modification du statut de la tâche d'importation d'annotations Soumis, en cours, annulé, terminé, échoué ou terminé avec échecs
Modification de l'état du partage d'Annotation Store En attente, activation, activité, suppression, suppression, échec
Modification de l'état du magasin d'annotations La création, la création, la mise à jour, la mise à jour, la suppression, la suppression ou la création ont échoué
Lire Modifier le statut de la tâche d'activation Soumis, en cours, terminé, échoué ou terminé avec échecs
Lire Modifier le statut de la tâche d'exportation Soumis, en cours, terminé, échoué ou terminé avec échecs
Lire Modifier le statut de la tâche d'importation Soumis, en cours, terminé, échoué ou terminé avec échecs
Lire et définir le changement d'état Traitement du téléchargement, échec du téléchargement, actif, archivé, activation ou suppression
Modification du statut de la tâche d'importation de références Soumis, en cours, terminé, échoué ou terminé avec échecs
Changement de statut de référence Actif ou supprimé
Changement de statut de la boutique de référence Créé, mis à jour, actif ou supprimé
Modification de l'état de l'exécution En attente, en cours de démarrage, en cours d'exécution, à l'arrêt, terminé, supprimé, échoué ou annulé
Changement de statut de Sequence Store Créé, mis à jour, actif ou supprimé
Modification de l'état des tâches En attente, en cours de démarrage, en cours d'exécution, à l'arrêt, terminé, supprimé, échoué ou annulé
Modification du statut de la tâche d'importation de variantes Soumis, en cours, annulé, terminé, échoué ou terminé avec échecs
Modification du statut du partage de Variant Store En attente, activation, activité, suppression, suppression, échec
Modification de l'état de la boutique des variantes La création, la création, la mise à jour, la mise à jour, la suppression, la suppression ou la création ont échoué
Changement de statut du partage de flux de travail En attente, activation, activité, suppression, suppression, échec
Changement de statut du flux de travail Succès de la création, échec de la création, réussite de la suppression ou échec de la suppression

Structure des messages d’événements

HealthOmics fournit les meilleurs efforts pour envoyer des messages d'événements de changement d'état à EventBridge. L'événement est un objet doté d'une structure JSON qui contient également des informations sur les métadonnées. Vous pouvez utiliser les métadonnées comme entrée pour recréer l'événement ou pour obtenir plus d'informations. Les événements incluent les domaines suivants :

  • version— Actuellement 0 (zéro) pour tous les événements.

  • id— Un UUID de version 4 généré pour chaque événement.

  • detail-type— Le type d'événement qui est envoyé.

  • account— L' Compte AWS identifiant à 12 chiffres du propriétaire du bucket.

  • source— Identifie le service qui a généré l'événement.

  • time— L'heure à laquelle l'événement s'est produit.

  • region— Identifie Région AWS l'emplacement du compartiment.

  • resources— Tableau JSON contenant le nom de ressource Amazon (ARN) du bucket.

  • detail— Un objet JSON contenant des informations sur l'événement.

Les événements Run incluent les champs suivants :

  • uuid— L'identifiant unique universel de la course.

  • workflowId— Identifiant du flux de travail associé à cette exécution.

  • workflowName— Nom du flux de travail associé à cette exécution.

  • runId— Identifiant d'exécution.

  • runName— Nom de la course.

  • runOutputUri— L'URI de l'endroit où l'exécution écrira ses données de sortie.

Exemples de messages d'événements

L'exemple suivant est un événement relatif à un changement de statut d'exécution, affichant les champs supplémentaires.

{ "version":"0", "id":"c0e540f4-df38-b986-86c1-3e3730f971fe", "detail-type":"Run Status Change", "source":"aws.omics", "account":"123456789012", "time":"2022-10-20T22:07:35Z", "region":"us-west-2", "resources":[ "arn:aws:omics:us-west-2:123456789012:run/2101313" ], "detail":{ "omicsVersion":"1.0.0", "arn":"arn:aws:omics:us-west-2:123456789012:run/2101313", "status":"COMPLETED", "uuid":"153893cd-097a-40ec-aec7-838a97cd2b21", "runId": "1234567", "runName": "run name", "runOutputUri": "s3://amzn-s3-demo-bucket/run-output/2101313", "workflowId": "1234567", "workflowName": "workflow name" } }

L'exemple suivant est un événement relatif à un changement de statut de tâche.

{ "version": "0", "id": "718d6817-c868-26d3-8ef0-0dc9b2ac73f4", "detail-type": "Task Status Change", "source": "aws.omics", "account": "123456789012", "time": "2024-10-30T09:05:44Z", "region": "us-west-2", "resources": ["arn:aws:omics:us-west-2:123456789012:task/8888888"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:task/8888888", "status": "COMPLETED", "runArn": "arn:aws:omics:us-west-2:123456789012:run/2101313", "runUuid": "153893cd-097a-40ec-aec7-838a97cd2b21", "runId": "1234567", "runName": "run name", "workflowId": "1234567", "workflowName": "workflow name" } }

Voici un exemple d'événement pour un changement de statut d'un ensemble de lecture.

{ "version": "0", "id": "64ca0eda-9751-dc55-c41a-1bd50b4fc9b7", "detail-type": "Read Set Status Change", "source": "aws.omics", "account": "123456789012", "time": "2023-04-04T17:53:06Z", "region": "us-west-2", "resources": ["arn:aws:omics:us-west-2:123456789012:sequenceStore/1234567890/readSet/3456789012"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:sequenceStore/1234567890/readSet/3456789012", "sequenceStoreId" : "1234567890", "id": "3456789012", "status": "PROCESSING_UPLOAD" } }

Un événement similaire est créé pour une tâche d'importation de boutiques de variantes.

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "Variant Store Status Change", "source": "aws.omics", "account": "123456789012", "time": "2015-12-22T18:43:48Z", "region": "us-east-1", "resources": ["arn:aws:omics:us-east-1:123456789012:myvariantstore2"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-east-1:123456789012:myvariantstore2", "status": "CREATED", "storeId": "6710c5f02610", "storeName": "myvariantstore2" } }

L'événement suivant concerne un changement de statut de la tâche d'importation.

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "Variant Import Job Status Change", "source": "aws.omics", "account": "123456789012", "time": "2015-12-22T18:43:48Z", "region": "us-east-1", "resources": ["arn:aws:omics:us-east-1:123456789012:my_variant_store/b64ea9a3-459f-4b68-92c3-3ddb83209fe9"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-east-1:123456789012:my_variant_store/b64ea9a3-459f-4b68-92c3-3ddb83209fe9", "status": "COMPLETED", "jobId": "b64ea9a3-459f-4b68-92c3-3ddb83209fe9", "storeId": "a74869f91e20", "storeName": "my_variant_store" } }