ABBYY Licensing Service kann jeweils nur eine Online-Lizenz gleichzeitig verwenden.
- Einrichten Ihrer Online-Lizenz, Ihres lokalen Rechners und Ihrer Cloud-Instanz anhand der Voraussetzungen
- Durchführen der vorbereitenden Schritte vor dem Bereitstellen Ihrer Anwendung
- Bereitstellen Ihrer Anwendung in Cloud Service
Voraussetzungen
Online-Lizenz
- Ihre Customer Project ID
- eine Token-Datei für die Online-Lizenz
- das Kennwort für die Token-Datei der Online-Lizenz
- Aktive Internetverbindung
- Erlaubte Verbindungen zu *.abbyy.com über Port 443 (HTTPS)
- GoDaddy-Root-Zertifikat für die Zertifizierungsstelle (Es muss im Zertifikatsspeicher „Vertrauenswürdige Stammzertifizierungsstellen“ des lokalen Computers installiert sein. Ausführliche Informationen zum Zertifikat finden Sie auf der GoDaddy-Website.)
Lokaler Rechner
- Visual Studio 2019 und die zugehörigen Module für die Entwicklung von Anwendungen für Azure (siehe Azure-Features in Visual Studio oder verwenden Sie das Visual Studio-Installationsprogramm, um diese Module herunterzuladen)
- Cloud Service-Emulatoren und Speicher für einfaches Debugging (weitere Informationen hier; Download über das Visual Studio-Installationsprogramm)
- Vorlagenlösung für Azure Cloud Service (Extended Preview) mit einem einzelnen Worker-Rollenprojekt (weitere Informationen hier)
- .NET Framework 4.7.2
- Azure SDK (Download hier)
- NuGet-Paket für die Arbeit mit Azure Storage und Blob-Containern – Azure.Storage.Blobs (Download hier)
- ABBYY FineReader Engine-Wrapper für .NET Framework 4.7 (im Ordner C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops nach der Developer-Installation)
- Für die Arbeit mit Blob-Containern überschriebene IFileWriter-Schnittstelle (siehe das Beispiel unten)
- Azure Storage Explorer (optional – Download hier)
Cloud Service-Instanz
- .NET Framework-Version für Ihren Service
- PowerShell zum Bereitstellen von ABBYY FineReader Engine
- NuGet 2.8.5.201 oder höher zum Hochladen des Azure SDK
- Azure SDK für die Arbeit mit einem Azure Speicherkonto mithilfe von PowerShell
Vorbereitungsschritte
- Erstellen Sie zwei Archive mit der ABBYY FineReader Engine-Bibliothek und dem Licensing Service (zum Beispiel LibraryPackage.zip und LSPackage.zip). Sie können die Dateiliste mithilfe der Datei FREngineDistribution.csv automatisch erstellen. Verwenden Sie ABBYY FineReader Engine und License Server aus demselben Paket; andernfalls ist die Kompatibilität nicht gewährleistet.
- Erstellen Sie das Azure Speicherkonto (in diesem Artikel frestorage). Alle erforderlichen Anleitungen finden Sie auf der Azure-Website.
- Erstellen Sie drei Blob-Container in frestorage:
- fre-lib - für die Dateien von ABBYY FineReader Engine
- fre-input - für eingehende Dateien
- fre-output - für die Verarbeitungsergebnisse
- Laden Sie LibraryPackage.zip und LSPackage.zip auf die für Sie bequemste Weise in den Container fre-lib hoch (mit .NET, PowerShell, einem Python-Skript oder den Anwendungen Azure Storage Explorer/Azure Portal).
Bereitstellen von ABBYY FineReader Engine in Cloud Service
- Geben Sie die Parameter in Cloud.cscfg wie gewünscht an.
- Geben Sie die Parameter der Datei .csdef an:
- (optional) Ihre WorkerRole-Einstellungen
- (optional) die Größe Ihrer virtuellen Maschine
- (erforderlich) den lokalen Speicher Ihrer Rolle (Abschnitt LocalStorage – in diesem Artikel der Speicher mit dem Namen LocalStorage1). Legen Sie ihn auf mindestens 3 GB fest, damit das ABBYY FineReader Engine-Paket ordnungsgemäß bereitgestellt werden kann.
- (erforderlich) die Startreihenfolge Ihrer Rolle (verwenden Sie die Codebeispiele und Einstellungen aus dem Abschnitt Codebeispiel)
- Implementieren Sie Ihr WorkerRole-Projekt so, dass es Dateien aus dem Container fre-input verarbeitet und die Verarbeitungsergebnisse im Container fre-output ablegt:
- die Methode OnStart, um Ihren Cloud Service für den Betrieb vorzubereiten. Diese Methode wird verwendet, um die Engine zu initialisieren und das TLS-Protokoll einzurichten.
- die Methode RunAsync zur zyklischen Verarbeitung der Dateien aus dem Container fre-input. Diese Methode erkennt die Dateien im Container fre-input, verarbeitet sie im Speicher und legt sie im Container fre-output ab (siehe Processor.cs, IFileWriter.cs und Config.cs).
- die Methode OnStop, um den Betrieb des Cloud Service zu beenden. Diese Methode wird verwendet, um die Engine zu deinitialisieren.
Codebeispiele
- CleanUpOnStart - löscht die vorherige Version von ABBYY FineReader Engine und vereinfacht deren Aktualisierung (siehe die Auflistung unten in den Dateien CleanUpOnStart.cmd und CleanUpOnStart.ps1).
- PreparePoShModules - lädt das SDK herunter, das benötigt wird, damit PowerShell mit Azure Storage arbeiten kann (siehe die Auflistung unten in den Dateien PreparePoShModules.cmd und PreparePoShModules.ps1).
- PrepareLibrary - lädt die ABBYY FineReader Engine-Bibliothek aus dem Container fre-lib in den lokalen Speicher und entpackt sie dort (siehe die Auflistung unten in den Dateien PrepareLibrary.cmd und PrepareLibrary.ps1).
- PrepareLS - lädt den Licensing Service aus dem Container fre-lib, entpackt ihn und startet ihn (siehe die Auflistung unten in den Dateien PrepareLS.cmd und PrepareLS.ps1).
- taskType=“simple” - Aufgaben werden synchron nacheinander ausgeführt.
- executionContext=“elevated” - Ausführen eines Startskripts mit Administratorrechten (erforderlich, um Anwendungen installieren und LicensingService.exe ausführen zu können)
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
Implementierung der IFileWriter-Schnittstelle
Implementierung der IFileWriter-Schnittstelle
Beispiel für die Verarbeitung von Dateien mit ABBYY FineReader Engine
Beispiel für die Verarbeitung von Dateien mit ABBYY FineReader Engine
Processor.cs
Processor.cs
Config.cs
Config.cs
