Table of Contents

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

  1. 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é.
  2. Construisez l'image avec le Dockerfile de Docker et Linux. az acr build construit l'image dans Azure, sans Docker sur votre poste.
  3. 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.
  4. Faites pointer la Function App vers l'image.
  5. 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.

Et ensuite