Skip to content

Ingest & mapping

Objectif

Cet écran alimente toutes les données de coût de la plateforme. Il importe des fichiers de facturation (CUR AWS, exports Azure/GCP, CSV/XLSX/JSON), propose un mapping de colonnes assisté par IA, puis charge les lignes normalisées dans le schéma unifié fact_cost. C'est le point d'entrée d'un onboarding de bout en bout.

Qui l'utilise

Analyste FinOps, administrateur billing, équipe data en onboarding.

ActionPermission RBAC
Voir l'ingestion et les jobsbilling:ingest:read
Uploader, mapper et lancer un ingestbilling:ingest:write

Prérequis

  • Au moins un connecteur cloud configuré et actif pour les sources automatisées (voir Connecteurs cloud).
  • Un fichier d'export de facturation, ou un bucket (S3 / Azure Blob / GCS) alimenté régulièrement.
  • Permission billing:ingest:write pour lancer un chargement.

Accès

  • Menu Data & integration → Ingest & mapping
  • URL : \/ingest

Écran Data ingest

Éléments de l'interface

Zone UIDescriptionAction possible
Carte Upload cost fileSélecteur provider hint (AWS/Azure/GCP/Custom) + champ fichierCharger un fichier
Bouton Stage uploadCharge et propose un mapping IA à validerPrévisualiser avant ingest
Bouton Upload + AI auto-runCharge, mappe et lance en une étapeIngestion automatique
Carte AI mapping previewNom, format, job ID, provider détecté, confiance, mapping JSONVérifier / corriger
Boutons Re-run AI mapping / Run ingest / Clear workflowActions sur le job en coursRégénérer / charger / réinitialiser
Carte Cloud file sourcesCréation de source (nom, type S3/Blob/GCS, provider) + SyncAutomatiser les imports
Listes Ingest sources / Ingest jobsStatut, dates, actionsSuivre l'avancement
Saved ingest profilesProfils de mapping réutilisablesRéappliquer un mapping

Workflow pas à pas

A. Import manuel d'un fichier

  1. Data & integration → Ingest & mapping (/ingest).
  2. Dans Upload cost file, choisissez le provider hint et le fichier (.csv, .xlsx, .xls, .json, .jsonl).
  3. Cliquez Stage upload (recommandé la première fois) pour vérifier le mapping avant de charger.
  4. Contrôlez la carte AI mapping preview : colonnes source → champs Finoptika, champs requis marqués *.
  5. Corrigez les associations incorrectes ; au besoin Re-run AI mapping.
  6. Vérifiez la présence des champs requis (coût, service, période, compte).
  7. Cliquez Run ingest et attendez le statut completed.

B. Source cloud automatisée

  1. Dans Cloud file sources : nom (CUR AWS prod), type (AWS S3 drop, Azure Blob drop, GCS drop), provider → Add source.
  2. Cliquez Sync sur la source : un job d'ingest est créé ou mis en file.
  3. Suivez-le dans Ingest jobs.

C. Valider et rafraîchir

  1. Attendez le job en completed (nombre de lignes chargées affiché).
  2. Allez sur Executive, FinOps cockpit ou Cost explorer.
  3. Réglez Period end / Cloud, puis cliquez Refresh Data.

Statuts des jobs

StatutSignification
queuedEn attente du worker
runningTraitement en cours
completedSuccès — lignes chargées (nombre affiché)
failedÉchec — ouvrir le job, vérifier mapping ou fichier

Formules & définitions

  • Mapping — correspondance entre colonnes du fichier et le schéma unifié de coûts.
  • Profil d'ingest — mapping sauvegardé, réutilisable pour les imports du même type (ex. CUR AWS standard).
  • fact_cost — table canonique ligne à ligne ; c'est le chemin de lecture de tous les coûts (billing/services/cost_reads.py).
  • Coût effectif — montant normalisé après remises, crédits, amortissements. 💶 Toujours en décimal, jamais en float.

Bonnes pratiques FinOps

  • Première fois : Stage upload pour vérifier le mapping avant de charger.
  • Enregistrez un profil par type d'export pour fiabiliser les imports récurrents.
  • Vérifiez que le cost center est dérivable des tags pour l'allocation (voir Tags).
  • Fichiers > ~100 Mo : préférez une source cloud (bucket) plutôt qu'un upload HTTP.

Limitations & disclaimers

  • Les dashboards ne se rafraîchissent pas seuls : cliquez Refresh après un ingest.
  • Un fichier mal mappé produit un job failed : rien n'est chargé tant que les champs requis manquent.
  • 🕒 La fraîcheur affichée (Synced) reflète la dernière ingestion réussie, pas l'heure de la facture.
  • Multi-devises : pas d'agrégation sans conversion explicite (voir taux de change plateforme).

Dépannage

SymptômeCause probableRésolution
« Fichier trop volumineux »Limite upload HTTPSource S3/Azure/GCS, ou fichier < 100 Mo
Job failed après Run ingestMapping incomplet / colonnes invalidesOuvrir le job → corriger mapping → Run ingest
Dashboards vides après ingest OKFiltre provider ou périodeRefresh ; vérifier provider hint et Period end
« Job n'existe plus »Base réinitialisée (dev)Nouveau Stage upload
Provider mal détectéColonnes non standardAjuster le provider hint + corriger le mapping

Voir aussi

Documentation Finoptika · Estimations P90 consultatives, jamais garanties · Données isolées par tenant (RLS + RBAC).