Skip to content

Typescript template - IO Azure functions

Notifications You must be signed in to change notification settings

pagopa/io-functions-template

Repository files navigation

IO Functions template

Template per l'utilizzo di Azure Functions (e Durable Functions) all'interno del progetto IO.

Una volta clonato il repo assicurarsi di:

  • editare i metadati del repository nel file package.json

  • specificare un nome per il TaskHub in host.json in modo da evitare di condividere lo stesso per function diverse che usano lo stesso storage

  • effettuare il tuning dei parametri per le durable function

  • impostare a false il parametro FUNCTIONS_V2_COMPATIBILITY_MODE nel file local.settings.json nel caso di upgrade a azure-functions 3.x o 4.x

  • modificare l' endpoint di healthcheck all' interno del file deploy-pipelines.yml in base al basePath configurato.

  • fare una PR sul progetto gitops per deployare le pipelines. (un esempio qui )

  • fare una PR sul progetto io-infrastructure-live-new per fare il stetup degli ambienti di prod e staging della nuova function. (un esempio qui )

Sviluppo in locale con Docker

cp env.example .env
yarn install
yarn build
docker-compose up -d --build
docker-compose logs -f functions
open http://localhost/some/path/test

Sviluppo in locale con Docker

cp env.example .env
yarn install
yarn build
docker-compose up -d --build
docker-compose logs -f functions
open http://localhost/some/path/test

Deploy

Il deploy avviene tramite una pipeline (workflow) configurata su Azure DevOps.

Esempi di function

Sono presenti alcune function di esempio che permettono di testare la corretta esecuzione del runtime delle durable functions. Le funzioni attivate da trigger HTTP utilizzano il pacchetto io-functions-express.