Tous les guides
IntermédiaireÀ votre rythmeGuide gratuitSection 12/20

Cloud Functions Python et scheduling

Explorez les workflows Make, Zapier et n8n, les pipelines de données et leurs contrôles. Testez une automatisation limitée avant de l’étendre.

💡

Contenu gratuit, accessible sans compte. Les outils et modèles évoluent : consultez le dossier actuel pour vérifier leurs versions. Modèles et sources

Section 12.3.4 : Cloud Functions Python et scheduling

🎯 Objectif pédagogique

Déployer des Cloud Functions Python (Google Cloud) pour exécuter du code à la demande ou sur un schedule : ETL custom, enrichissement IA, alertes automatiques.


Cloud Functions : du Python dans le cloud

Les Cloud Functions sont des morceaux de code qui s'exécutent dans le cloud sans serveur à gérer. Idéal pour :

  • →Traitement de données planifié (chaque matin à 8h)
  • →Webhooks (répondre à un événement)
  • →ETL custom (extraction/transformation de données)
  • →Enrichissement IA (appeler GPT sur un dataset)

Exemple : enrichissement IA planifié

import functions_framework
from google.cloud import bigquery
from openai import OpenAI
import os

client_bq = bigquery.Client()
client_ai = OpenAI(api_key=os.environ['OPENAI_API_KEY'])

@functions_framework.http
def enrich_leads(request):
    """Enrichit les leads non qualifiés avec GPT."""
    
    # 1. Récupérer les leads non enrichis
    query = """
        SELECT id, company, industry, website
        FROM analytics.leads
        WHERE ai_summary IS NULL
        LIMIT 50
    """
    leads = list(client_bq.query(query))
    
    # 2. Enrichir chaque lead avec GPT
    for lead in leads:
        prompt = f"""
        Analyse cette entreprise et produis un résumé de 2 lignes 
        sur son potentiel comme client pour une solution IA B2B.
        
        Entreprise: {lead.company}
        Secteur: {lead.industry}
        Site: {lead.website}
        """
        
        response = client_ai.chat.completions.create(
            model="gpt-4o-mini",
            messages=[{"role": "user", "content": prompt}],
            max_tokens=100
        )
        
        summary = response.choices[0].message.content
        
        # 3. Mettre à jour BigQuery
        update = f"""
            UPDATE analytics.leads 
            SET ai_summary = '{summary.replace("'", "''")}'
            WHERE id = {lead.id}
        """
        client_bq.query(update)
    
    return f"Enriched {len(leads)} leads"

Déploiement et scheduling

# Déployer la Cloud Function
gcloud functions deploy enrich_leads \
    --runtime python312 \
    --trigger-http \
    --set-env-vars OPENAI_API_KEY=sk-xxx

# Planifier l'exécution quotidienne (Cloud Scheduler)
gcloud scheduler jobs create http enrich-daily \
    --schedule "0 8 * * *" \
    --uri "https://REGION-PROJECT.cloudfunctions.net/enrich_leads" \
    --http-method GET
Vérification rapide

Quel est l'avantage principal des Cloud Functions pour le traitement de données ?

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Votre progression

Cette progression est déclarative et conservée dans votre navigateur. L’attestation finale ne constitue pas un diplôme ni une évaluation indépendante.

Voir ma progression et mon attestation

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Un cas pratique IA dans votre boîte mail

Méthodes, ressources et nouveaux exercices. Gratuit, avec désinscription à tout moment.