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.
Automatiser le mode EMR Serverless avec Amazon EventBridge
Vous pouvez l'utiliser Amazon EventBridge pour automatiser Services AWS et répondre automatiquement aux événements du système, tels que les problèmes de disponibilité des applications ou les modifications des ressources. EventBridge fournit un flux d'événements système en temps quasi réel décrivant les modifications apportées à vos AWS ressources. Vous pouvez écrire des règles simples pour indiquer quels événements vous intéressent et les actions automatisées à effectuer quand un événement correspond à une règle. Avec EventBridge, vous pouvez automatiquement :
-
Invoquer une AWS Lambda fonction
-
Transmettre un événement à Amazon Kinesis Data Streams
-
Activer une machine à AWS Step Functions états
-
Notifier un SNS sujet Amazon ou une SQS file d'attente Amazon
Par exemple, lorsque vous utilisez EventBridge EMR Serverless, vous pouvez activer une AWS Lambda fonction en cas de réussite d'une ETL tâche ou informer un SNS sujet Amazon en cas d'échec d'une ETL tâche.
EMRServerless émet quatre types d'événements :
-
Événements de modification de l'état d'une application : événements qui déclenchent chaque changement d'état d'une application. Pour plus d'informations sur les états des applications, consultezÉtats de l'application.
-
Événements de changement d'état d'exécution d'une tâche : événements qui émettent chaque changement d'état d'une exécution de tâche. Pour plus d'informations sur, voirÉtats d'exécution de la tâche.
-
Événements de nouvelle tentative d'exécution de tâches : événements qui émettent chaque nouvelle tentative d'exécution d'une tâche à partir des versions 7.1.0 et supérieures d'Amazon EMR Serverless.
Événements de mise à jour de l'utilisation des ressources d'une tâche : événements qui émettent des mises à jour sur l'utilisation des ressources pour une tâche exécutée à des intervalles de près de 30 minutes.
Exemples d'EMRévénements sans serveur EventBridge
Les événements signalés par EMR Serverless ont la valeur aws.emr-serverless
assignée àsource
, comme dans les exemples suivants.
Événement de changement d'état de l'application
L'exemple d'événement suivant montre une application dans son CREATING
état.
{ "version": "0", "id": "9fd3cf79-1ff1-b633-4dd9-34508dc1e660", "detail-type": "EMR Serverless Application State Change", "source": "aws.emr-serverless", "account": "123456789012", "time": "2022-05-31T21:16:31Z", "region": "us-east-1", "resources": [], "detail": { "applicationId": "00f1cbsc6anuij25", "applicationName": "3965ad00-8fba-4932-a6c8-ded32786fd42", "arn": "arn:aws:emr-serverless:us-east-1:111122223333:/applications/00f1cbsc6anuij25", "releaseLabel": "emr-6.6.0", "state": "CREATING", "type": "HIVE", "createdAt": "2022-05-31T21:16:31.547953Z", "updatedAt": "2022-05-31T21:16:31.547970Z", "autoStopConfig": { "enabled": true, "idleTimeout": 15 }, "autoStartConfig": { "enabled": true } } }
Événement de changement d'état de Job Run
L'exemple d'événement suivant montre une exécution de travail qui passe de l'SCHEDULED
état à l'RUNNING
état.
{ "version": "0", "id": "00df3ec6-5da1-36e6-ab71-20f0de68f8a0", "detail-type": "EMR Serverless Job Run State Change", "source": "aws.emr-serverless", "account": "123456789012", "time": "2022-05-31T21:07:42Z", "region": "us-east-1", "resources": [], "detail": { "jobRunId": "00f1cbn5g4bb0c01", "applicationId": "00f1982r1uukb925", "arn": "arn:aws:emr-serverless:us-east-1:123456789012:/applications/00f1982r1uukb925/jobruns/00f1cbn5g4bb0c01", "releaseLabel": "emr-6.6.0", "state": "RUNNING", "previousState": "SCHEDULED", "createdBy": "arn:aws:sts::123456789012:assumed-role/TestRole-402dcef3ad14993c15d28263f64381e4cda34775/6622b6233b6d42f59c25dd2637346242", "updatedAt": "2022-05-31T21:07:42.299487Z", "createdAt": "2022-05-31T21:07:25.325900Z" } }
Événement Job Run Retry
Voici un exemple d'événement de nouvelle tentative d'exécution d'une tâche.
{ "version": "0", "id": "00df3ec6-5da1-36e6-ab71-20f0de68f8a0", "detail-type": "EMR Serverless Job Run Retry", "source": "aws.emr-serverless", "account": "123456789012", "time": "2022-05-31T21:07:42Z", "region": "us-east-1", "resources": [], "detail": { "jobRunId": "00f1cbn5g4bb0c01", "applicationId": "00f1982r1uukb925", "arn": "arn:aws:emr-serverless:us-east-1:123456789012:/applications/00f1982r1uukb925/jobruns/00f1cbn5g4bb0c01", "releaseLabel": "emr-6.6.0", "createdBy": "arn:aws:sts::123456789012:assumed-role/TestRole-402dcef3ad14993c15d28263f64381e4cda34775/6622b6233b6d42f59c25dd2637346242", "updatedAt": "2022-05-31T21:07:42.299487Z", "createdAt": "2022-05-31T21:07:25.325900Z", //Attempt Details "previousAttempt": 1, "previousAttemptState": "FAILED", "previousAttemptCreatedAt": "2022-05-31T21:07:25.325900Z", "previousAttemptEndedAt": "2022-05-31T21:07:30.325900Z", "newAttempt": 2, "newAttemptCreatedAt": "2022-05-31T21:07:30.325900Z" } }
Mise à jour sur l'utilisation des ressources de travail
L'exemple d'événement suivant montre la dernière mise à jour de l'utilisation des ressources pour une tâche passée à l'état terminal après son exécution.
{ "version": "0", "id": "00df3ec6-5da1-36e6-ab71-20f0de68f8a0", "detail-type": "EMR Serverless Job Resource Utilization Update", "source": "aws.emr-serverless", "account": "123456789012", "time": "2022-05-31T21:07:42Z", "region": "us-east-1", "resources": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/00f1982r1uukb925/jobruns/00f1cbn5g4bb0c01" ], "detail": { "applicationId": "00f1982r1uukb925", "jobRunId": "00f1cbn5g4bb0c01", "attempt": 1, "mode": "BATCH", "createdAt": "2022-05-31T21:07:25.325900Z", "startedAt": "2022-05-31T21:07:26.123Z", "calculatedFrom": "2022-05-31T21:07:42.299487Z", "calculatedTo": "2022-05-31T21:07:30.325900Z", "resourceUtilizationFinal": true, "resourceUtilizationForInterval": { "vCPUHour": 0.023, "memoryGBHour": 0.114, "storageGBHour": 0.228 }, "billedResourceUtilizationForInterval": { "vCPUHour": 0.067, "memoryGBHour": 0.333, "storageGBHour": 0 }, "totalResourceUtilization": { "vCPUHour": 0.023, "memoryGBHour": 0.114, "storageGBHour": 0.228 }, "totalBilledResourceUtilization": { "vCPUHour": 0.067, "memoryGBHour": 0.333, "storageGBHour": 0 } } }
Le startedAtchamp ne sera présent que si la tâche est passée à l'état en cours d'exécution.