

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
<a name="connect-eventbridge"></a>

Step Functions fournit une API d'intégration de services 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 aux AWS services dans Step Functions, consultez [Intégration des services ](integrate-services.md) et[Transmission de paramètres à une API de service dans Step Functions](connect-parameters.md).

**Principales fonctionnalités de l' EventBridge intégration optimisée**  
L'ARN d'exécution et l'ARN de la machine à états sont automatiquement ajoutés au `Resources` champ de chacun`PutEventsRequestEntry`.
Si la réponse de `PutEvents` contient une valeur différente de zéro`FailedEntryCount`, l'`Task`état échoue avec l'erreur`EventBridge.FailedEntry`.

 Pour utiliser l'`PutEvents`API, vous devez créer une EventBridge règle dans votre compte qui correspond au modèle 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 en savoir plus, consultez :
+ [Ajouter EventBridge des événements Amazon PutEvents](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevents.html) dans le guide de EventBridge l'utilisateur.
+ [Attendre un rappel avec un jeton de tâche](connect-to-resource.md#connect-wait-token)dans 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",
  "Arguments": {
    "Entries": [
      {
        "Detail": {
          "Message": "MyMessage"
        },
        "DetailType": "MyDetailType",
        "EventBusName": "MyEventBus",
        "Source": "my.source"
      }
    ]
  },
  "End": true
}
```

**Quota pour les données d'entrée ou de résultat**  
Lors de l'envoi ou de la réception de données entre services, l'entrée ou le résultat maximum pour une tâche est de 256 KiB de données sous forme de chaîne codée en UTF-8. Consultez [Quotas liés aux exécutions par les machines de l'État](service-quotas.md#service-limits-state-machine-executions).

## EventBridge API optimisée
<a name="connect-eventbridge-apis"></a>

 EventBridge L'API et la syntaxe prises en charge incluent :
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)

## Gestion des erreurs
<a name="connect-eventbridge-error"></a>

L'`PutEvents`API accepte 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 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 échoue à l'état avec l'erreur`EventBridge.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. 

## Politiques IAM pour les appels EventBridge
<a name="eventbridge-iam"></a>

Les exemples de modèles suivants montrent comment AWS Step Functions générer des politiques IAM en fonction des ressources contenues dans la définition de votre machine d'état. Pour plus d’informations, consultez [Comment Step Functions génère des politiques IAM pour les services intégrés](service-integration-iam-templates.md) et [Découvrez les modèles d'intégration des services dans Step Functions](connect-to-resource.md).

### `PutEvents`
<a name="eventbridge-iam-listconnections"></a>

*Ressources statiques*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "events:PutEvents"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:event-bus/my-project-eventbus"
            ],
            "Effect": "Allow"
        }
    ]
}
```

*Ressources dynamiques*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "events:PutEvents"
            ],
            "Resource": "arn:aws:events:*:*:event-bus/*"
        }
    ]
}
```