Azure Functions
Déployer une Function App qui certifie des PDF avec le module SecureExchanges.Signature.NetCore.
Chromium ne peut pas s'exécuter dans le bac à sable d'Azure Functions sous Windows : le déploiement doit viser un conteneur Linux sur un plan Premium. Le Dockerfile et les dépendances de Chromium sont décrits dans Docker et Linux ; cette page couvre la configuration Azure.
Prérequis
- Un plan Azure Functions Premium, en mode conteneur Linux.
- Un Azure Container Registry : le niveau Basic suffit pour une image.
- Une identité managée affectée par le système sur la Function App, avec le rôle AcrPull sur le registre.
- Une image construite avec le Dockerfile de Docker et Linux.
Conseil
Un projet complet est disponible sur GitHub : AzureFunctionsSignature.netCore.
Étapes
- Créez un Azure Container Registry, dans la même région que la Function App. Le compte administrateur du registre n'est pas nécessaire avec une identité managée : laissez-le désactivé.
- Construisez l'image avec le Dockerfile de Docker et Linux.
az acr buildconstruit l'image dans Azure, sans Docker sur votre poste. - Activez l'identité managée de la Function App, accordez-lui le rôle AcrPull sur le registre, puis configurez la Function App pour qu'elle utilise cette identité pour récupérer l'image.
- Faites pointer la Function App vers l'image.
- Redémarrez la Function App : elle récupère l'image et démarre.
Paramètres de l'application
| Paramètre | Valeur | Pourquoi |
|---|---|---|
SE_DISABLE_AUTO_DOWNLOAD |
1 |
Chromium est dans l'image : pas de téléchargement à l'exécution. |
FUNCTIONS_WORKER_PROCESS_COUNT |
1 |
Un seul processus Chromium par instance : moins de mémoire, notamment sur le plan EP1. |
Attention
Identifiants Secure Exchanges. Ne les mettez ni dans l'image ni en clair dans les paramètres de l'application. Lisez-les à l'exécution depuis Azure Key Vault avec l'identité managée de la Function App, et accordez-lui seulement la lecture des secrets dont elle a besoin. Voir Identifiants et environnements.
Erreurs fréquentes
| Symptôme | Cause probable | Solution |
|---|---|---|
| Chromium ne démarre pas | Function App sous Windows, ou image sans les dépendances de Chromium | Utilisez un conteneur Linux construit avec le Dockerfile de Docker et Linux. |
| La Function App ne récupère pas l'image | Rôle AcrPull manquant, ou identité non configurée pour le registre | Vérifiez l'étape 3. |
| Premier appel très lent | Chromium téléchargé à l'exécution | Vérifiez que SE_DISABLE_AUTO_DOWNLOAD vaut 1 et que l'image contient Chromium. |