Passer au contenu principal
Cette section explique comment déployer une application FRE 12 pour Windows dans Azure Cloud Service. À titre d’exemple, un Worker qui traite des fichiers dans un conteneur d’un compte Azure Storage est présenté. Pour mettre en œuvre ce scénario, une licence en ligne se connectant au serveur de licences *.abbyy.com est utilisée.
ABBYY Licensing Service ne peut fonctionner qu’avec une seule licence en ligne à la fois.
Le déploiement de votre application dans Cloud Service comprend plusieurs étapes :
  1. Configurer votre licence en ligne, votre machine locale et votre instance cloud en suivant les prérequis
  2. Effectuer les étapes préparatoires avant de déployer votre application
  3. Déployer votre application dans Cloud Service
Voir les exemples de code illustrant l’utilisation des méthodes d’ABBYY FineReader Engine pour le traitement des documents.

Prérequis

Licence en ligne

Pour utiliser une licence en ligne, vous devez recevoir les informations suivantes de la part du service commercial :
  • votre Customer Project ID
  • un fichier de jeton de licence en ligne
  • le mot de passe du fichier de jeton de licence
Pour utiliser une licence en ligne sur tout système où ABBYY Licensing Service est installé, les conditions suivantes doivent être remplies :
  • Une connexion Internet active
  • Les connexions à *.abbyy.com sur le port 443 (HTTPS) doivent être autorisées
  • Le certificat racine GoDaddy de l’autorité de certification (il doit être installé dans le magasin de certificats Autorités de certification racines de confiance de l’ordinateur local. Consultez les informations détaillées sur le certificat sur le site web de GoDaddy.)

Ordinateur local

Avant de créer votre Cloud Service, assurez-vous que votre machine locale répond aux exigences suivantes :
  • Visual Studio 2019 et ses modules pour le développement d’applications Azure (consultez Fonctionnalités Azure dans Visual Studio ou utilisez Visual Studio Installer pour télécharger ces modules)
  • Émulateurs Cloud Service et stockage pour faciliter le débogage (consultez les informations ici et téléchargez-les via Visual Studio Installer)
  • Solution modèle pour Azure Cloud Service (extended preview) avec un seul projet de rôle Worker (consultez les informations ici)
  • .NET Framework 4.7.2
  • SDK Azure (téléchargez-le ici)
  • Package NuGet pour utiliser Azure Storage et les conteneurs Blob : Azure.Storage.Blobs (téléchargez-le ici)
  • Wrapper ABBYY FineReader Engine pour .NET Framework 4.7 (dans le dossier C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops après une installation Developer)
  • Interface IFileWriter remplacée pour fonctionner avec des conteneurs Blob (consultez l’exemple ci-dessous)
  • Azure Storage Explorer (facultatif - téléchargez-le ici)

Instance de Cloud Service

L’instance de Cloud Service sert à stocker votre projet WorkerRole dans Azure. Utilisez les spécifications suivantes pour configurer cette instance :
  • version du .NET Framework de votre service
  • PowerShell pour déployer ABBYY FineReader Engine
  • NuGet 2.8.5.201 ou version ultérieure pour téléverser le SDK Azure
  • SDK Azure pour travailler avec un compte Azure Storage via PowerShell

Étapes préparatoires

Les étapes préparatoires doivent être effectuées sur votre machine locale. En les réalisant, vous préparerez tous les paramètres et fichiers nécessaires au déploiement de votre application :
  1. Créez deux archives contenant l’ABBYY FineReader Engine Library et le Licensing Service (par exemple, LibraryPackage.zip et LSPackage.zip). Vous pouvez générer automatiquement la liste des fichiers à l’aide du fichier FREngineDistribution.csv. Utilisez ABBYY FineReader Engine et License Server issus du même package ; sinon, la compatibilité n’est pas garantie.
  2. Créez le compte de stockage Azure (frestorage dans cet article). Vous trouverez toutes les instructions nécessaires sur le site Azure.
  3. Créez trois conteneurs Blob dans frestorage :
  • fre-lib - pour les fichiers d’ABBYY FineReader Engine
  • fre-input - pour les fichiers en entrée
  • fre-output - pour les résultats du traitement
  1. Téléversez LibraryPackage.zip et LSPackage.zip dans le conteneur fre-lib par la méthode de votre choix (à l’aide de .NET, Powershell, d’un script Python ou des applications Azure Storage Explorer/Azure Portal).
À titre d’exemple, un projet WorkerRole est utilisé dans un environnement configuré. Tous les fichiers de configuration nécessaires (.csdef et Cloud.cscfg) sont générés automatiquement après la création de votre projet.

Déploiement d’ABBYY FineReader Engine vers Cloud Service

Pour déployer ABBYY FineReader Engine dans votre nouveau projet WorkerRole :
  1. Spécifiez les paramètres de Cloud.cscfg selon vos besoins.
  2. Spécifiez les paramètres du fichier .csdef :
  • (facultatif) les paramètres de votre WorkerRole
  • (facultatif) la taille de votre machine virtuelle
  • (obligatoire) le stockage local de votre rôle (section LocalStorage — dans cet article, le stockage nommé LocalStorage1). Définissez-le sur au moins 3 Go afin de garantir le déploiement correct du package ABBYY FineReader Engine.
  • (obligatoire) l’ordre de démarrage de votre rôle (utilisez les exemples de code et les paramètres de la section exemples de code)
  1. Implémentez votre projet WorkerRole pour traiter les fichiers du conteneur fre-input et publier les résultats du traitement dans le conteneur fre-output :
  • la méthode OnStart pour préparer votre Cloud Service au fonctionnement. Cette méthode sert à initialiser l’Engine et à configurer le protocole TLS.
  • la méthode RunAsync pour traiter en boucle les fichiers récupérés du conteneur fre-input. Cette méthode détecte les fichiers dans le conteneur fre-input, les traite en mémoire, puis les place dans le conteneur fre-output (voir Processor.cs, IFileWriter.cs et Config.cs).
  • la méthode OnStop pour arrêter Cloud Service. Cette méthode sert à désinitialiser l’Engine.

Exemples de code

Cette section comprend des exemples de code utilisés pour configurer l’ordre de démarrage des rôles et les paramètres d’ABBYY FineReader Engine :
  • CleanUpOnStart - supprime la version précédente d’ABBYY FineReader Engine et simplifie sa procédure de mise à jour (voir son contenu dans les fichiers CleanUpOnStart.cmd et CleanUpOnStart.ps1 ci-dessous).
  • PreparePoShModules - télécharge le SDK nécessaire pour que PowerShell fonctionne avec Azure Storage (voir son contenu dans les fichiers PreparePoShModules.cmd et PreparePoShModules.ps1 ci-dessous).
  • PrepareLibrary - téléverse et décompresse la bibliothèque ABBYY FineReader Engine depuis le conteneur fre-lib vers le stockage local (voir son contenu dans les fichiers PrepareLibrary.cmd et PrepareLibrary.ps1 ci-dessous).
  • PrepareLS - téléverse, décompresse et lance le Licensing Service depuis le conteneur fre-lib (voir son contenu dans les fichiers PrepareLS.cmd et PrepareLS.ps1 ci-dessous).
Les scripts listés ci-dessus doivent être exécutés exactement dans l’ordre indiqué, avant le lancement de votre application. Pour personnaliser l’ordre d’exécution des scripts, spécifiez les attributs suivants :
  • taskType=“simple” - les tâches sont exécutées de manière synchrone, une à la fois.
  • executionContext=“elevated” - exécution d’un script de démarrage avec des droits administrateur (requise pour pouvoir installer une application et exécuter LicensingService.exe)
Ainsi, un dossier que Cloud Service pourra gérer sera créé. Ce dossier est utilisé pour téléverser ABBYY FineReader Engine à l’aide des scripts listés ci-dessus et charger FREngine.dll en vue de son utilisation ultérieure dans l’exemple.