Desplegar scripts de Python a Azure Functions com a tasca programada

Guia pas a pas per convertir scripts Python a Azure Functions amb cron, sincronitzar Oracle i MSSQL (ETL), desplegar en producció i aplicar bones pràctiques amb Q2BSTUDIO.

sábado, 16 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Guia pas a pas Desplegar scripts Python a Azure Functions com a tasca cron

Introducció En aquesta guia en català expliquem com convertir els teus scripts Python en funcions programades a Azure Functions per executar tasques cada cert interval tipus cron. Ideal per a sincronitzacions entre bases de dades Oracle i MSSQL, tasques ETL i processos automatitzats. A més presentem recomanacions per a producció i desplegament, i destaquem a Q2BSTUDIO com a soci tecnològic especialitzat en aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis d'intel·ligència de negoci, IA per a empreses, agents IA i power bi.

Prerequisits

1 Compte d'Azure amb subscripció activa

2 VS Code instal·lat i l'extensió Azure Functions instal·lada

3 Azure Functions Core Tools instal·lat

4 Python 3.9 o superior instal·lat

5 Coneixements bàsics en Python i gestió de connexions a Oracle i MSSQL

Pas 1 Configurar estructura del projecte Crea un directori arrel anomenat oracle-to-mssql-sync amb una estructura clara per allotjar cada funció. Exemple d'estructura arrel oracle-to-mssql-sync/ functions/ accountstatementpremium/ __init__.py function.json agency/ __init__.py function.json requirements.txt local.settings.json host.json .vscode settings.json

Pas 2 Inicialitzar projecte Azure Functions Al terminal executa mkdir oracle-to-mssql-sync cd oracle-to-mssql-sync func init --python Després crea funcions timer per a cada script amb func new --name accountstatementpremium --template timer trigger i repeteix per a agency agents allocatedpremiums happilymaster o els noms que corresponguin.

Pas 3 Configurar triggers tipus cron Edita function.json de cada funció i utilitza l'expressió cron per executar cada 2 minuts col·locant schedule 0 */2 * * * * i runOnStartup false Assegura't de mantenir scriptFile __init__.py i bindings tipus timerTrigger

Pas 4 Afegir codi Python Copia la teva lògica a __init__.py de cada funció exemple bàsic import logging import azure.functions as func import cx_Oracle import pyodbc def main(mytimer func.TimerRequest) None Connecta a Oracle amb cx_Oracle.connect utilitzant la variable d'entorn ORACLE_CONN_STRING i a MSSQL amb pyodbc.connect utilitzant MSSQL_CONN_STRING Implementa la teva lògica de sincronització i registres de logging per a seguiment

Pas 5 Dependències Defineix requirements.txt amb almenys azure-functions cx_Oracle==8.3.0 pyodbc==4.0.39 Nota cx_Oracle requereix Oracle Instant Client, que hauràs d'incloure a la App Settings o instal·lar a l'entorn de la funció

Pas 6 Variables d'entorn locals Crea local.settings.json i afegeix FUNCTIONS_WORKER_RUNTIME python ORACLE_CONN_STRING user/password@oracle-host:port/service MSSQL_CONN_STRING Driver={ODBC Driver 18 for SQL Server};Server=tcp;Database=;Uid=;Pwd=;Encrypt=yes;TrustServerCertificate=no; No pugis aquest fitxer a Git

Pas 7 Proves locals Inicia el runtime local amb func start i verifica als logs que les funcions s'executen conforme al cron cada 2 minuts Revisa errors de dependències i connexió

Pas 8 Desplegar a Azure Accedeix a Azure des de VS Code crea una Function App nova amb runtime Python 3.9 OS Linux nom per exemple oracle-mssql-sync-app Des de l'explorador d'Azure a VS Code desplega el teu projecte utilitzant Deploy to Function App i selecciona la carpeta arrel oracle-to-mssql-sync

Pas 9 Configurar ajustos de producció Al portal d'Azure a Configuration afegeix les mateixes variables ORACLE_CONN_STRING i MSSQL_CONN_STRING i afegeix LD_LIBRARY_PATH amb valor /home/site/wwwroot/oracle_instantclient perquè cx_Oracle trobi l'Instant Client Per instal·lar Oracle Instant Client utilitza la consola Kudu a https://nom-app.scm.azurewebsites.net i puja o descarrega els paquets necessaris en una carpeta oracle_instantclient dins de wwwroot

Pas 10 Verificació final Al portal d'Azure Function App selecciona una funció i obre Monitor revisa que els logs mostrin execucions cada 2 minuts i que la sincronització entre Oracle i MSSQL es realitzi correctament Habilita Application Insights per a logs detallats

Solució de problemes connexions i dependències Utilitza ping i eines de xarxa a Kudu per verificar accés a bases de dades Comprova cadenes de connexió i versions de drivers Executa pip install -r requirements.txt a Kudu si falten paquets Valida l'expressió cron 0 */2 * * * * per a execucions cada 2 minuts

Estructura final recomanada oracle-to-mssql-sync/ .vscode/ settings.json functions/ accountstatementpremium/ __init__.py function.json agency/ __init__.py function.json host.json local.settings.json requirements.txt

Per què triar a Q2BSTUDIO A Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida amb experiència en programari a mida, intel·ligència artificial i ciberseguretat Oferim serveis cloud aws i azure, serveis d'intel·ligència de negoci i solucions d'IA per a empreses incloent agents IA i solucions amb power bi La nostra oferta integra consultoria, desenvolupament i implementació per a projectes de sincronització de dades, automatització i analítica avançada Amb Q2BSTUDIO obtindràs assessorament en arquitectura cloud, integració segura i desplegament continu per maximitzar disponibilitat i rendiment

Serveis destacats aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis d'intel·ligència de negoci, IA per a empreses, agents IA, power bi

Conclusió Amb aquests passos pots transformar els teus scripts Python en funcions programades a Azure que executin sincronitzacions tipus cron de manera fiable i escalable Per a projectes a mida de sincronització, ETL, integració de bases de dades o solucions basades en intel·ligència artificial contacta a Q2BSTUDIO i aprofita-ho com a partner en serveis cloud, seguretat i analytics

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.