Thème
Configurer une destination d'export S3
Objectif
Configurer une destination S3 pour exporter les transmissions historisées vers un data lake externe — pour alimenter la BI, la conformité ou l'archivage long terme. À la fin du parcours, vous aurez une destination active, un premier job d'export réussi, et la transaction de référence retrouvable dans l'entrepôt.
Durée estimée : 15 minutes • Rôle requis : platform-governor (le module Export n'est accessible qu'aux administrateurs plateforme)
Avant de commencer
Assurez-vous d'avoir :
- Un bucket S3 existant (AWS, MinIO, Scaleway, OVH Object Storage, etc.) avec un préfixe dédié à ASACI (ex.
asaci/transactions/). - Le endpoint S3 correspondant (
https://s3.eu-west-3.amazonaws.com,https://minio.entreprise.ci…) et la région du bucket. - Une paire de credentials S3 (
Access Key Id+Secret Access Key) avec droits d'écriture sur le bucket. Vous les saisirez directement dans le formulaire — la console les persiste en Vault et ne les relit plus ensuite. - Un
businessDayclôturé (la veille au minimum) pour pouvoir tester un export immédiat.
Credentials non relisibles après création
Le Secret Access Key est un champ password dans le formulaire. Une fois la destination créée, le secret n'est plus relisible depuis la console. Pour le faire tourner, il faudra soit créer une nouvelle destination, soit demander à l'équipe exploitation d'ajuster directement le secret en Vault.
Étape 1 — Ouvrir le module Export
Menu Données ▸ Export des données. Vous arrivez sur l'onglet Destinations.

Si c'est la première destination, la liste est vide et les KPIs en haut affichent 0.
Étape 2 — Créer la destination
En haut à droite, cliquez sur le bouton orange « Nouvelle destination ». Un volet latéral s'ouvre avec la fenêtre « Nouvelle destination ».
Section Identité
| Champ | Valeur d'exemple |
|---|---|
| Nom | data-lake-prod |
| Description | Export quotidien Parquet vers le data lake BI Production |
| Activée | ON (par défaut) |
Type immuable
Le Type affiché dans le formulaire est Parquet sur S3 (immuable). Aujourd'hui, c'est le seul type d'export proposé — vous ne pouvez pas changer la cible vers un autre format.
Section Cible S3
| Champ | Valeur d'exemple AWS | Valeur d'exemple MinIO |
|---|---|---|
| Endpoint | https://s3.af-south-1.amazonaws.com | https://minio.entreprise.ci |
| Région | af-south-1 | auto |
| Bucket | asaci-dwh-prod | asaci-archive |
| Préfixe | asaci/transactions | asaci/transactions |
| Path-style access | OFF | ON (par défaut) |
Path-style access
La bascule Path-style access est ON par défaut dans le formulaire — adaptée à MinIO/Ceph et la plupart des fournisseurs S3-compatibles. Ne la passez OFF que si votre fournisseur exige strictement le mode virtual-hosted style (cas rare en 2026 — AWS supporte les deux).
Section Format Parquet
| Option | Valeur par défaut | Commentaire |
|---|---|---|
| Compression | SNAPPY | SNAPPY / GZIP / ZSTD / NONE. |
| Row group (MiB) | 128 | À ajuster selon le moteur d'analyse aval. |
| Taille fichier cible (MiB) | 256 | Évite la fragmentation. |
| Écrire le manifest | ON | Produit _manifest.json par jour métier. |
| Dictionary encoding | ON | Compression supplémentaire pour les colonnes à faible cardinalité. |
Section Chiffrement
| Champ | Valeur par défaut | Commentaire |
|---|---|---|
| Mode | NONE | Chiffrement Parquet côté client — à ajuster selon votre politique. |
Section Credentials
| Champ | Obligatoire | Commentaire |
|---|---|---|
| Access Key Id | ✅ | Clé d'accès S3 (placeholder AKIA…). |
| Secret Access Key | ✅ | Secret correspondant. Champ password — non relisible après enregistrement. |
Étape 3 — Valider
Cliquez sur « Créer » en bas du volet.
La destination apparaît dans la liste avec :
- Activée : ON
- Planification :
0 2 * * *(par défaut tous les jours à 02h00, à ajuster ensuite si besoin) - Prochain run : J+1 à 02h00
- Dernier job : Aucun
Le job ne démarre pas tout de suite
La destination devient immédiatement active, mais aucun job n'est lancé tant que le cron ne déclenche pas. Si vous voulez vérifier maintenant, déclenchez un export manuel à l'étape suivante.
Étape 4 — Tester la connexion (recommandé)
Sur la ligne de la destination, cliquez sur 🔌 Tester la connexion dans la colonne Actions. La plateforme tente une opération S3 légère (vérification d'accès au bucket sans écriture) et remonte un message :
- ✅ Connexion OK — le secret Vault est valide, le bucket est accessible. Vous pouvez lancer un export.
- ❌
AccessDenied/NoSuchBucket/SignatureDoesNotMatch→ corrigez la configuration ou voir l'équipe exploitation avant de lancer un job (voir l'encadré En cas d'échec plus bas).
Étape 5 — Lancer un export manuel de test
Sur la ligne de la destination, cliquez sur ▶ Lancer maintenant dans la colonne Actions. Le job se met en file d'exécution selon la planification configurée sur la destination — il sera exécuté immédiatement (déclencheur MANUAL) en mode Append par défaut.
Bascule sur l'onglet Exécutions : un nouveau job apparaît, avec :
| Colonne | Valeur attendue |
|---|---|
| Statut | Succès (🟢) si tout va bien — Partiel (🟠) ou Échec (🔴) en cas de souci. |
| Déclencheur | MANUAL. |
| Mode | Append (par défaut). |
| Records | Nombre de transactions effectivement écrites. |
| BusinessDay | Journée métier prise en compte. |
Cliquez sur 👁️ pour voir le détail. Vous y trouvez la référence du fichier _manifest.json produit, les compteurs de records et le message d'erreur éventuel.
Mode Overwrite
Si vous devez rejouer un export sur un jour où des fichiers ont déjà été écrits (par exemple parce qu'un mapping a été corrigé après coup), faites une rotation manuelle en mode Overwrite — la destination réécrit le dossier {businessDay} complet sans garder les anciens fichiers.
En cas d'échec
AccessDeniedouInvalidAccessKeyId→ secret Vault absent ou invalide. Voir l'équipe exploitation.NoSuchBucket→ bucket inexistant ou faute de frappe. Vérifiez le champ Bucket de la destination.SignatureDoesNotMatch→ endpoint ou région incorrect. Pour AWS, le couple endpoint+région doit être cohérent (s3.eu-west-3.amazonaws.com↔eu-west-3).- Timeout → réseau bloqué entre le cluster ASACI et le bucket. Voir l'équipe réseau.
Étape 6 — Vérifier dans le bucket S3
Depuis votre client S3 (CLI, console AWS, MinIO Browser, S3 Browser…), parcourez le sous-dossier {prefix}/{businessDay}/. Vous y trouverez les fichiers .parquet écrits par le job, et — si l'option Écrire le manifest est ON — un fichier _manifest.json qui liste les fichiers, leurs tailles et leur cohérence (nombre de records).
Étape 7 — Vérifier une transaction précise
De retour dans la console, onglet Transactions du module Export (breadcrumb Traçabilité transactions) :
- Récupérez un
eventIdd'une transaction du jour exporté. Vous le trouvez dans le détail d'une transmission (section Metadata) ou dans une ligne de la piste d'audit correspondante. - Collez-le dans le champ « Identifiant de la transaction » (placeholder : Coller un eventId).
- Cliquez sur Voir.
Vous voyez l'historique d'export pour cette transaction — la destination que vous venez de créer doit y figurer en EXPORTED avec l'horodatage et la référence du job.
eventId, pas correlationId
Ce champ attend un eventId au format CloudEvents UUID v4 — pas le correlationId métier qu'on utilise pour les transmissions de bout en bout. Les deux identifiants existent côte à côte ; veillez à coller le bon.
Étape 8 — Ajuster la planification (optionnel)
Si la planification par défaut (0 2 * * *) ne convient pas, retournez sur la destination, action 🖊️ Modifier, et ajustez l'expression cron.
Exemples :
| Cron | Quand |
|---|---|
0 2 * * * | Tous les jours à 02h00. |
0 */6 * * * | Toutes les 6 heures. |
0 1 * * 1-5 | Lundi → vendredi à 01h00. |
0 1 1 * * | Le 1er de chaque mois à 01h00. |
Choisir la fréquence
- Données BI quotidienne : 1 fois par jour, après 01h00 (les flux sont calmes).
- Archivage légal : 1 fois par jour suffit, plage horaire creuse.
- Streaming temps réel : préférez une intégration directe au broker
data-captureplutôt que cet export — il est batch par conception.
Checklist de fin de parcours
- [ ] La destination apparaît dans l'onglet Destinations avec Activée = ON et le badge Type =
Parquet sur S3. - [ ] Le test de connexion (🔌) renvoie OK.
- [ ] Un job manuel s'est terminé avec Statut =
Succès. - [ ] Les fichiers
.parquet(et_manifest.jsonsi l'option est ON) sont visibles dans le bucket à l'emplacement{prefix}/{businessDay}/. - [ ] Une transaction du jour est retrouvée dans l'onglet Transactions via son
eventId. - [ ] La planification cron est ajustée à votre besoin.
Points d'attention
- Append vs Overwrite —
Appendajoute de nouveaux fichierspart-*.parquetau dossier dubusinessDaysans toucher aux existants ;Overwriterepart du vide pour ce jour. UtilisezAppendpour les exports incrémentaux,Overwritepour rejouer après correction. - Conservation source — la file
data-capturequi alimente le module a sa propre rétention. Si elle est dépassée avant que vous corrigiez un export bloqué, des données peuvent être perdues. Surveillez les KPIs Erreurs (24h) et Jobs réussis (24h) quotidiennement. - Écrire le manifest — utile pour l'ingestion incrémentale par votre data lake aval (Snowflake, Athena, BigQuery…). Si désactivé, le data lake doit lister le dossier S3 lui-même pour découvrir les fichiers nouveaux.
Voir aussi
- Export des données — référentiel des trois onglets.
- Transmissions ▸ État d'export — colonne Export dans la liste des transmissions.
- Diagnostiquer un échec — quand l'export remonte en
DLQ.