ABBYY Licensing Service ne peut fonctionner qu’avec une seule licence en ligne à la fois.
- Configurer votre licence en ligne, votre machine locale et votre instance cloud en suivant les prérequis
- Effectuer les étapes préparatoires avant de déployer votre application
- Déployer votre application dans Cloud Service
Prérequis
Licence en ligne
- votre Customer Project ID
- un fichier de jeton de licence en ligne
- le mot de passe du fichier de jeton de licence
- 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
- 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
- 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
- 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.
- Créez le compte de stockage Azure (frestorage dans cet article). Vous trouverez toutes les instructions nécessaires sur le site Azure.
- 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
- 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).
Déploiement d’ABBYY FineReader Engine vers Cloud Service
- Spécifiez les paramètres de Cloud.cscfg selon vos besoins.
- 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)
- 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
- 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).
- 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)
CleanUpOnStart.cmd
CleanUpOnStart.cmd
CleanUpOnStart.ps1
CleanUpOnStart.ps1
PreparePoShModules.cmd
PreparePoShModules.cmd
PreparePoShModules.ps1
PreparePoShModules.ps1
PrepareLibrary.cmd
PrepareLibrary.cmd
PrepareLibrary.ps1
PrepareLibrary.ps1
PrepareLS.cmd
PrepareLS.cmd
PrepareLS.ps1
PrepareLS.ps1
Implémentation de l’interface IFileWriter
Implémentation de l’interface IFileWriter
Exemple de traitement des fichiers avec ABBYY FineReader Engine
Exemple de traitement des fichiers avec ABBYY FineReader Engine
Processor.cs
Processor.cs
Config.cs
Config.cs
