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 le statut 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 de 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 achemine vers 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 d'événements 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 surveiller 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 ?

Configurez 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.

Configuration d'un EventBridge bus

Vous pouvez utiliser le bus d'événements par défaut pour votre bus d'événements 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 le menu de navigation de gauche, sélectionnez Event bus.

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

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

  5. Choisissez Create 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, consultez la section 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 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 les événements AWS ou les événements EventBridge partenaires.

  6. Faites défiler l'écran vers le bas jusqu'à Modèle d'événement.

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

    2. Pour le service AWS, entrez omics dans le filtre de texte et sélectionnez AWS HealthOmicscomme 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évision et mise à jour, passez en revue la configuration et choisissez Créer une règle.

EventBridge événements à HealthOmics

Le tableau suivant répertorie les événements HealthOmics envoyés à EventBridge et la liste des valeurs de statut possibles pour l'événement.

Nom de l’événement Valeurs de statut possibles
Modification du statut de la tâche d'importation d'annotations Soumis, en cours, annulé, terminé, en échec ou terminé avec des échecs
Modification du statut du partage d'Annotation Store En attente, activation, activité, suppression, suppression, échec
Modification du statut du magasin d'annotations Création, création, mise à jour, mise à jour, suppression, suppression ou échec de la création
Lire la modification du statut du job d'activation Soumis, en cours, terminé, échoué ou terminé avec des échecs
Lire > Définir > Exporter le statut de la tâche Soumis, en cours, terminé, échoué ou terminé avec des échecs
Lire et configurer le changement de statut de la tâche d'importation Soumis, en cours, terminé, échoué ou terminé avec des échecs
Modifier le statut du set de lecture Traitement du téléchargement, échec du téléchargement, activité, archivage, activation ou suppression
Modification du statut du job Reference Import Soumis, en cours, terminé, échoué ou terminé avec des échecs
Modification du statut de référence Actif ou supprimé
Modification du statut du magasin de référence Créé, mis à jour, actif ou supprimé
Modifier le statut d'exécution En attente, démarrage, exécution, arrêt, terminé, supprimé, échoué ou annulé
Modification du statut du magasin de séquences Créé, mis à jour, actif ou supprimé
Modification du statut de la tâche En attente, démarrage, exécution, arrêt, terminé, supprimé, échoué ou annulé
Modification du statut du job d'importation de variantes Soumis, en cours, annulé, terminé, en échec ou terminé avec des échecs
Variant Store Share : modification du statut En attente, activation, activité, suppression, suppression, échec
Modification du statut du magasin Variant Création, création, mise à jour, mise à jour, suppression, suppression ou échec de la création
Modification du statut du partage du flux de travail En attente, activation, activité, suppression, suppression, échec
Modification du statut du flux de travail Succès de création, échec de création, succès de suppression ou échec de suppression

Structure des messages d’événements

HealthOmics fournit les meilleurs efforts pour envoyer des messages d'événement de changement d'état à EventBridge. L'événement est un objet doté d'une structure JSON qui contient également des détails 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 version 4 généré pour chaque événement.

  • detail-type— Le type d'événement 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— Heure à laquelle l'événement s'est produit.

  • region— Identifie Région AWS le compartiment.

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

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

Les événements d'exécution incluent les champs suivants :

  • uuid— L'identifiant unique universel pour 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 l'exécution.

  • runOutputUri— L'URI dans lequel l'exécution écrira ses données de sortie.

Exemples de messages d'événements

L'exemple suivant est un événement de modification du statut d'exécution, montrant 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 lié à une modification du statut d'une 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 lié à une modification du 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 variante de la tâche d'importation d'un magasin.

{ "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" } }

Ce qui suit est un événement lié à une modification du 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" } }