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, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/developers-python-sdk-load-override.md.

Redéfinir une action Load

Voir en Markdown

Dans une action Custom, vous pouvez réutiliser des types d'action existants, en redéfinissant certains paramètres ou en créant des "hooks"

Objectif

Dans une action Custom, vous pouvez réutiliser des types d'action existants, en redéfinissant certains paramètres ou en créant des "hooks".

Voici un exemple de réutilisation d'une action Load, ajoutant une valeur de mapping égale à la date contenue dans le nom du fichier source.

:::info Quelques prérequis à respecter :

  1. sélectionnez le module aggregate dans les modules requis
  2. votre JSON params doit suivre le format requis pour l'action load

::: Astuce : vous pouvez d'abord créer votre configuration d'action via une action Load classique, puis copier / coller l'objet JSON "params" dans l'objet JSON params de votre action Custom.

import sys,os
from logging import getLogger

from forepaas.core.settings import PARAMS
from forepaas.actions.aggregate.fpaggregate import aggregate

logger = getLogger(__name__)

def override_aggregate(event):
    
    try:
    	# Définit le nom du fichier. peut être récupéré via la segmentation ou les paramètres
	filename = "sales_2020-01-01.csv"
        
        # Redéfinit le nom du fichier source
        path = "/".join(PARAMS["load_from"][0]["source"].split("/")[:-1]) + "/" + filename
        PARAMS["load_from"][0]["source"] = path

        # redéfinit source_date dans le schema
        source_date = filename.replace("sales_","").replace(".csv","")
        PARAMS["schema"]["source_date"] = {"type":"replace", "value": str(source_date)}
        logger.info(f"{filename} {source_date}")
        
        # exécute l'action aggregate (=load), elle utilisera les PARAMS redéfinis.
        aggregate(event)

    except Exception as err: 
        message="error on file:{}: {} L:{}".format(filename,err,sys.exc_info()[2].tb_lineno)
        raise Exception(message)

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 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 dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?