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.
Ajoutez des EventBridge événements avec Step Functions
Step Functions propose une intégration de services API pour l'intégration à Amazon EventBridge. Découvrez comment créer des applications axées sur les événements en envoyant des événements personnalisés directement depuis les flux de travail de Step Functions.
Pour en savoir plus sur l'intégration avec AWS services dans Step Functions, voir Intégration des services et. Transmission de paramètres à un service API dans Step Functions
Principales fonctionnalités de l' EventBridge intégration optimisée
-
L'exécution ARN et la machine à états ARN sont automatiquement ajoutées au
Resources
champ de chacunePutEventsRequestEntry
. -
Si la réponse de
PutEvents
contient une valeur différente de zéroFailedEntryCount
, l'Task
état échoue avec l'erreurEventBridge.FailedEntry
.
Pour utiliser le PutEvents
API, vous devez créer une EventBridge règle dans votre compte qui correspond au schéma spécifique des événements que vous allez envoyer. Par exemple, vous pouvez accorder les accès suivants :
-
Créez une fonction Lambda dans votre compte qui reçoit et imprime un événement correspondant à une EventBridge règle.
-
Créez une EventBridge règle dans votre compte sur le bus d'événements par défaut qui correspond à un modèle d'événement spécifique et cible la fonction Lambda.
Pour plus d’informations, consultez :
-
Ajouter EventBridge des événements Amazon PutEvents dans le guide de EventBridge l'utilisateur.
-
Attendre un rappel avec un jeton de tâchedans les modèles d'intégration des services.
Ce qui suit inclut un Task
qui envoie un événement personnalisé :
{
"Type": "Task",
"Resource": "arn:aws:states:::events:putEvents",
"Parameters": {
"Entries": [
{
"Detail": {
"Message": "MyMessage"
},
"DetailType": "MyDetailType",
"EventBusName": "MyEventBus",
"Source": "my.source"
}
]
},
"End": true
}
Note
Il existe un quota pour la taille maximale des données d'entrée ou de résultat pour une tâche dans Step Functions. Cela vous limite à 256 Ko de données sous forme de chaîne codée en UTF -8 lorsque vous envoyez ou recevez des données d'un autre service. Consultez Quotas liés aux exécutions par les machines de l'État.
Soutenu EventBridge API
La syntaxe EventBridge API et la syntaxe prises en charge incluent :
-
-
Paramètre pris en charge :
Gestion des erreurs
PutEvents
APIAccepte un tableau d'entrées en entrée, puis renvoie un tableau d'entrées de résultats. Tant que l'PutEvents
action est réussie, PutEvents
renvoie une réponse de HTTP 200, même si une ou plusieurs entrées ont échoué. PutEvents
renvoie le nombre de saisies échouées dans le FailedEntryCount
champ.
Step Functions vérifie si le FailedEntryCount
est supérieur à zéro. S'il est supérieur à zéro, Step Functions ne correspond pas à l'état avec l'erreurEventBridge.FailedEntry
. Cela vous permet d'utiliser la gestion des erreurs intégrée de Step Functions sur les états des tâches pour détecter ou réessayer en cas d'échec des entrées, plutôt que d'avoir à utiliser un état supplémentaire pour analyser la FailedEntryCount
réponse.
Note
Si vous avez implémenté l'idempotencie et que vous pouvez réessayer toutes les entrées en toute sécurité, vous pouvez utiliser la logique de nouvelle tentative de Step Functions. Step Functions ne supprime pas les entrées réussies du tableau PutEvents
d'entrées avant de réessayer. Au lieu de cela, il réessaie avec le tableau d'entrées d'origine.
IAMpolitiques relatives aux appels EventBridge
Les exemples de modèles suivants montrent comment AWS Step Functions génère IAM des politiques basées sur les ressources contenues dans la définition de votre machine à états. Pour plus d’informations, consultez Comment Step Functions génère IAM des politiques pour les services intégrés et Découvrez les modèles d'intégration des services dans Step Functions.
PutEvents
Ressources statiques
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"events:PutEvents"
],
"Resource": [
"arn:aws:events:us-east-1:123456789012
:event-bus/stepfunctions-sampleproject-eventbus"
],
"Effect": "Allow"
}
]
}
Ressources dynamiques
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": "arn:aws:events:*:*:event-bus/*"
}
]
}