---
title: "Créer des actions de gestion d'événements"
description: "Dans cet article, nous allons parcourir les étapes nécessaires pour créer une action qui vous permet de gérer des événements"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/tutorials-custom-event-handling
lang: fr
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt.

# Créer des actions de gestion d'événements

## Objectif

Dans cet article, nous allons parcourir les étapes nécessaires pour **créer une action qui vous permet de gérer des événements**. Cela peut être appliqué pour déclencher des actions ou des workflows définis dans votre Data Processing Engine avec un corps de données provenant de l'extérieur de la platform.

## Table de gestion des événements

Nous recommandons généralement que, lorsque des actions sont appelées par un événement externe, l'appel de l'événement soit archivé à titre de référence dans votre projet. Dans cet article, nous utiliserons une table d'exemple dans votre modèle de données appelée _event\_handle_

- **Table Name** : event\_handle
- **Table Description** : la table contient 4 attributs pour stocker le contenu de l'événement.

| Nom de l'attribut  | Type   | Valeur d'exemple       |
| ------------------ | ------ | ---------------------- |
| **event\_id**      | Number | 38123461               |
| **event\_name**    | String | Rebecca                |
| **event\_content** | String | Walked in the store    |
| **date**           | Date   | 2020-05-21 11:34:23 PM |

:::warning
Notez que les noms fournis dans cet exemple, aussi bien pour la table, ses attributs, ainsi que tous les autres noms d'objets ci-dessous (pour l'action ou les fonctions), sont des **exemples**. Vous pouvez évidemment choisir de nommer vos objets différemment, assurez-vous simplement de mettre à jour la section de code suivante qui référence les différents objets.
:::

D'une manière générale, il s'agit d'une bonne pratique à mettre en place si vous prévoyez de créer des actions personnalisées qui gèrent des événements, car vous l'utiliserez pour archiver tous les événements déclenchés. Pour créer une telle table, rendez-vous dans le composant _Lakehouse Manager_, créez une table avec des attributs suivant ceux décrits dans la table ci-dessus.

[Créer un modèle de données dans le Lakehouse Manager](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/landing-page-lakehouse-manager.md)

## Configuration de l'action de gestion d'événements

Pour créer votre action personnalisée, rendez-vous dans le composant _Data Processing Engine_ et créez une nouvelle action personnalisée, puis saisissez le **nom de l'action** _Event handle_. L'exemple de code Python ci-dessous montre comment gérer le corps de l'événement lorsque l'action est déclenchée depuis l'extérieur de la platform, généralement via un endpoint API.

Dans la configuration de l'action personnalisée, changez le **nom de la fonction** (qui spécifie quelle fonction Python est la fonction principale à exécuter) en _event\_handle_. Enfin, copiez-collez l'exemple de code suivant dans l'éditeur de code personnalisé :

```python
import logging
import pandas as pd
from datetime import datetime
from forepaas.dwh import bulk_insert
from forepaas.dwh import connect

logger = logging.getLogger(__name__)

def event_handle(event):
    logger.info(f"Start inserting event to default_dataset/event_handle")
    logger.info(f"event_type = {event.type}, number of rows = {len(event.content)}")
    if type(event.content) is not list:
        raise Exception("When playing this action you need to send rows")

    # Créer le dataframe
    df = pd.DataFrame(event.content)
    df["date"] = datetime.now().strftime("%Y-%m-%d")

    # Se connecter à la base de données de destination et insérer le dataframe dans la table
    destination = connect("dwh/default_dataset/")
    stats, error = bulk_insert(destination, "event_handle", df)

    logger.info(f"End insert of event: stats={stats}, error={error}")

```

:::info
Notez que si vous êtes plus à l'aise dans une interface de type IDE, cliquez sur le mode _Advanced_ en haut de la page pour basculer vers l'éditeur de code en ligne. Vous pourrez mettre à jour le code source brut de l'action dans le script Python et toute sa configuration dans le fichier JSON.
:::

## Lancer des actions et des workflows

Maintenant que vous savez comment gérer les informations d'événement entrantes lorsqu'une action est lancée depuis l'extérieur, voyons comment configurer les événements déclencheurs. Cela vous permettra de démarrer une tâche d'une action ou d'un workflow de manière programmatique.

### Paramètres requis

**Il y a 3 paramètres requis pour lancer une tâche, que vous devez évidemment définir en fonction de la configuration de votre propre environnement**. Tous les paramètres sont indiqués dans les exemples de code à l'aide des accolades \{} comme \{subdomain}.

| Nom du paramètre | Valeur                           | Exemple                  |
| ---------------- | -------------------------------- | ------------------------ |
| subdomain        | Sous-domaine du projet           | test                     |
| action\_id       | Référence unique de votre action | 5eaf0db7f6f51d5255974217 |
| token            | Token d'authentification         | xxxxx                    |

#### Sous-domaine du Projet

Pour récupérer le sous-domaine de votre projet, il vous suffit de regarder l'URL de votre projet. Par exemple, si vous copiez-collez l'URL lorsque vous avez le composant DPE ouvert, cela devrait ressembler à ceci :

```text
https://{project_subdomain}.eu.dataplatform.ovh.net/dpe/#/
```

Le sous-domaine est la **première référence dans le chemin de l'URL de votre projet**.

#### ID de l'action ou du workflow

Pour récupérer l'ID de l'action que vous souhaitez démarrer, vous pouvez également le trouver dans l'URL de votre action lors de son édition. Pour cela, cliquez sur _edit_ sur l'action que vous souhaitez déclencher, l'URL devrait ressembler à ceci :

```
# URL de l'action
https://{project_subdomain}.eu.dataplatform.ovh.net/dpe/#/action/{action_id}

# URL du workflow
https://{project_subdomain}.eu.dataplatform.ovh.net/dpe/#/workflow/{workflow_id}
```

#### Token d'authentification

Pour générer un token d'authentification, vous devrez d'abord créer une clé API/secrète spécifique depuis le composant _Identity Access Manager_. Pour apprendre comment faire cela, consultez cet article dédié :

[Créer une clé API / clé secrète](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/tutorials-generate-api-keys.md)

### Exemples de code


**cURL**

```bash
curl --request POST \
  --url 'https://{subdomain}.eu.dataplatform.ovh.net/dpe/v3/actions/{action_id}/start?app_id=55c1423560702d6426490f38&type=cam&token={token}' \
  --header 'content-type: application/json' \
  --data '[
	{
		"event_name": "Rebecca",
		"event_id": 1,
		"event_content": "imperdiet ornare."
	},
	{
		"event_name": "Veronica",
		"event_id": 2,
		"event_content": "Nullam ut nisi a odio"
	},
	{
		"event_name": "Aurelia",
		"event_id": 3,
		"event_content": "amet"
	},
	{
		"event_name": "Yardley",
		"event_id": 4,
		"event_content": "ornare placerat, orci lacus vestibulum"
	},
	{
		"event_name": "Dakota",
		"event_id": 5,
		"event_content": "nulla. Cras eu tellus eu"
	}
]'
```


**Python 3+**

```python
import requests

url = "https://{subdomain}.eu.dataplatform.ovh.net/dpe/v3/actions/{action_id}/start"
querystring = {
  "app_id":"55c1423560702d6426490f38",
  "type":"cam",
  "token":"{token}"
}
payload = [
  {
    "event_name": "Rebecca",
    "event_id": 1,
    "event_content": "imperdiet ornare."
  },
  {
    "event_name": "Veronica",
    "event_id": 2,
    "event_content": "Nullam ut nisi a odio"
  },
  {
    "event_name": "Aurelia",
    "event_id": 3,
    "event_content": "amet"
  },
  {
    "event_name": "Yardley",
    "event_id": 4,
    "event_content": "ornare placerat, orci lacus vestibulum"
  },
  {
    "event_name": "Dakota",
    "event_id": 5,
    "event_content": "nulla. Cras eu tellus eu"
  }
]

response = requests.request("POST", url, params=querystring, json=payload) 
print(response.text)
```


:::info
Notez que **les workflows et les actions peuvent être déclenchés de la même manière**. Pour utiliser les données envoyées dans le cadre de l'appel, assurez-vous que le workflow contient une action de gestion d'événement. Assurez-vous également d'**utiliser la bonne URL pour les workflows** (voir la section sur l'ID de l'action ou du workflow).
:::

Nous espérons que cet article vous a été utile ! N'hésitez pas à nous faire part de vos questions ou suggestions d'amélioration.

## Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](https://www.ovhcloud.com/fr/professional-services/) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le [canal Discord](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
