Zum Hauptinhalt springen
Dieser Abschnitt enthält Anweisungen zum Bereitstellen einer FRE 12 for Windows-Anwendung in Azure Cloud Service. Als Beispiel dient ein Worker, der Dateien in einem Container eines Azure Speicherkontos verarbeitet. Zur Implementierung dieses Szenarios wird eine Online-Lizenz verwendet, die eine Verbindung zum Lizenzserver unter *.abbyy.com herstellt.
ABBYY Licensing Service kann jeweils nur eine Online-Lizenz gleichzeitig verwenden.
Das Bereitstellen Ihrer Anwendung in Cloud Service umfasst mehrere Schritte:
  1. Einrichten Ihrer Online-Lizenz, Ihres lokalen Rechners und Ihrer Cloud-Instanz anhand der Voraussetzungen
  2. Durchführen der vorbereitenden Schritte vor dem Bereitstellen Ihrer Anwendung
  3. Bereitstellen Ihrer Anwendung in Cloud Service
Siehe die Codebeispiele, die veranschaulichen, wie die Methoden von ABBYY FineReader Engine für die Dokumentverarbeitung verwendet werden.

Voraussetzungen

Online-Lizenz

Um eine Online-Lizenz zu verwenden, sollten Sie die folgenden Informationen vom Vertrieb erhalten:
  • Ihre Customer Project ID
  • eine Token-Datei für die Online-Lizenz
  • das Kennwort für die Token-Datei der Online-Lizenz
Für die Verwendung einer Online-Lizenz müssen an allen Orten, an denen der ABBYY Licensing Service installiert ist, die folgenden Bedingungen erfüllt sein:
  • 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

Bevor Sie Ihren Cloud Service erstellen, verwenden Sie die folgende Spezifikation, um Ihren lokalen Rechner vorzubereiten:
  • 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

Die Cloud Service-Instanz dient zum Speichern Ihres WorkerRole-Projekts in Azure. Verwenden Sie die folgende Spezifikation, um diese Instanz einzurichten:
  • .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

Die Vorbereitungsschritte sind auf Ihrem lokalen Rechner durchzuführen. Wenn Sie diese Schritte abschließen, bereiten Sie alle erforderlichen Einstellungen und Dateien vor, um mit der Bereitstellung Ihrer Anwendung zu beginnen:
  1. 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.
  2. Erstellen Sie das Azure Speicherkonto (in diesem Artikel frestorage). Alle erforderlichen Anleitungen finden Sie auf der Azure-Website.
  3. 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
  1. 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).
Als Beispiel wird ein WorkerRole-Projekt für die Ausführung in einer konfigurierten Umgebung verwendet. Alle erforderlichen Konfigurationsdateien (.csdef und Cloud.cscfg) werden nach dem Erstellen Ihres Projekts automatisch generiert.

Bereitstellen von ABBYY FineReader Engine in Cloud Service

So stellen Sie ABBYY FineReader Engine in Ihrem neuen WorkerRole-Projekt bereit:
  1. Geben Sie die Parameter in Cloud.cscfg wie gewünscht an.
  2. 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)
  1. 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

Dieser Abschnitt enthält Codebeispiele zum Konfigurieren der Startreihenfolge von Rollen und der Einstellungen von ABBYY FineReader Engine:
  • 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).
Die oben aufgeführten Skripte müssen vor dem Starten Ihrer Anwendung genau in der angegebenen Reihenfolge ausgeführt werden. Um die Ausführungsreihenfolge der Skripte festzulegen, geben Sie die folgenden Attribute an:
  • 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)
Dadurch wird ein Ordner erstellt, den Cloud Service verwalten kann. Dieser Ordner wird verwendet, um ABBYY FineReader Engine mithilfe der oben aufgeführten Skripte hochzuladen und die FREngine.dll zur weiteren Verwendung im Beispiel zu laden.