Zum Hauptinhalt springen
In diesem Abschnitt wird beschrieben, wie Sie eine FRE 12 for Windows-Anwendung in Azure App Service bereitstellen. Als Beispiel dient ein Paar von WebJob-Projekten, die Daten aus einem Azure Storage-Konto verwenden. Die Dateiverarbeitung erfolgt mithilfe eines Blob-Containers.
Mit diesem Szenario erzielen Sie die besten Erkennungsergebnisse für kleine einseitige Dokumente wie Rechnungen, Kassenbelege usw.
Das Bereitstellen Ihrer Anwendung in App Service umfasst mehrere Schritte:
  1. Einrichten Ihres lokalen Computers und Ihrer App-Instanz anhand der Voraussetzungen
  2. Durchführen der vorbereitenden Schritte vor dem Bereitstellen Ihrer Anwendung
  3. Bereitstellen und Ausführen Ihrer Anwendung in App Service
Verwenden Sie die Codebeispiele in der folgenden Anleitung.

Voraussetzungen

Lokaler Rechner

Bevor Sie Ihren App Service erstellen, verwenden Sie die folgende Spezifikation, um Ihren lokalen Rechner entsprechend einzurichten:
  • Visual Studio 2019 und die Module für die Entwicklung von Anwendungen für Azure (siehe Azure feature in Visual Studio oder verwenden Sie den Visual Studio Installer, um diese Module herunterzuladen)
  • Azure SDK (hier herunterladen)
  • .NET Framework 4.7.2
  • NuGet-Pakete für die Arbeit mit Azure Storage und Blob-Containern:
    • Azure.Storage.Blobs (hier herunterladen)
    • Azure.Storage.Queues (hier herunterladen)
    • Newtonsoft.Json (hier herunterladen)
    • System.IO.Compression.ZipFile (hier herunterladen)
  • ABBYY FineReader Engine-Wrapper für .NET Framework 4.7 (im Ordner C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops nach der Installation der Entwicklerversion)
  • Überschriebene IFileWriter-Schnittstelle für die Arbeit mit Blob-Containern (siehe das Beispiel unten)
  • Azure Storage Explorer (optional – hier herunterladen)
  • Virtuelle Maschine in Ihrem Azure-Konto für die Lizenzierung. Für die weitere Konfiguration benötigen Sie:
    • IP-Adresse
    • Offenen Verbindungsport (Standard oder benutzerdefiniert). Zum Öffnen verwenden Sie eine Firewall
    • Verbindungsdetails für das Sockets-Netzwerkprotokoll

Vorbereitende Schritte

Die vorbereitenden Schritte sind auf Ihrem lokalen Rechner durchzuführen. Nach Abschluss dieser Schritte haben Sie alle erforderlichen Einstellungen und Dateien vorbereitet, um die Bereitstellung Ihrer Anwendung zu starten:
  1. Erstellen Sie ein Archiv mit der ABBYY FineReader Engine-Bibliothek (z. B. LibraryPackage.zip). Die Liste der Dateien ist in der Datei FREngineDistribution.csv aufgeführt.
    Wichtig! Wenn Sie über begrenzten Speicherplatz verfügen (z. B. bei Verwendung eines App Service Plans mit 1 GB Speicherplatz), empfehlen wir die Verwendung der Option /extract, um ein benutzerdefiniertes ABBYY FineReader Engine-Paket mit minimaler Größe zu erstellen. Der verbleibende Speicherplatz wird für die Verarbeitung der Dateien genutzt.
    Beachten Sie beim Erstellen des Archivs, dass die ABBYY FineReader Engine-Lizenzierungseinstellungen entsprechend den Einstellungen der virtuellen Maschine konfiguriert sein müssen:
    • Die Datei LicensingSettings.xml muss für die Netzwerkkonfiguration eingerichtet sein (siehe Working with the LicensingSettings.xml File).
    • Das Netzwerkprotokoll Sockets muss verwendet werden.
    • Die Online License-Token-Datei muss sich im Ordner Bin64 befinden.
  2. Erstellen Sie ein Azure Storage-Konto (in diesem Artikel als frestorage bezeichnet). Alle erforderlichen Anweisungen finden Sie auf der Azure-Website.
  3. Erstellen Sie Ihren App Service nach Bedarf (Anweisungen finden Sie hier).
  4. Erstellen Sie zwei Blob-Container in frestorage:
    • fre-lib – für die ABBYY FineReader Engine-Dateien
    • processing-container – für Verarbeitungsergebnisse
  5. Laden Sie LibraryPackage.zip auf dem für Sie bequemsten Weg in den Container fre-lib hoch (mithilfe von .NET, PowerShell, Python-Skript oder den Anwendungen Azure Storage Explorer/Azure Portal).
  6. Stellen Sie die virtuelle Maschine mit den Lizenzierungseinstellungen in Ihrem Azure-Konto bereit und konfigurieren Sie sie:
    • Installieren Sie das License Manager Utility über installLM.exe aus der LibraryPackage.zip.
    • Richten Sie das Netzwerkprotokoll Sockets in der LicensingSettings.xml ein und starten Sie anschließend den Licensing Service neu.
    • Stellen Sie sicher, dass Azure App Service auf den Verbindungsport des Licensing Service zugreifen kann (passen Sie dazu die Windows-Firewallregeln auf der virtuellen Maschine an).
    • Aktivieren Sie Ihre Lizenz (nur bei Software-Schutz erforderlich; Online-Schutz erfordert keine Aktivierung).
  7. Erstellen Sie zwei Queues in frestorage:
    • processing-queue – zum Festlegen der Dateiverarbeitungsaufgaben
    • status-queue – zur Benachrichtigung über den Abschluss von Aufgaben
  8. Erstellen Sie zwei Azure WebJob-Projekte (.NET Framework) in Visual Studio 2019 für die Arbeit mit frestorage:
    • FreDeployerJob – zum Bereitstellen von LibraryPackage.zip in App Service (siehe Auflistung der zugehörigen Dateien: Config.cs, Functions.cs, Program.cs unten)
    • FreProcessorJob – für die Dokumentverarbeitung (siehe Auflistung der zugehörigen Dateien: Config.cs, Functions.cs, Program.cs, EngineLoader.cs, IFileWriter.cs, Processor.cs unten)

Bereitstellen und Ausführen von ABBYY FineReader Engine in App Service

So stellen Sie ABBYY FineReader Engine bereit:
  1. Veröffentlichen Sie FreDeployerJob mit Visual Studio in Azure App Service (legen Sie als WebJob Type Triggered fest).
  2. Öffnen Sie Ihren App Service im Azure-Portal.
  3. Öffnen Sie die WebJobs Ihres App Service.
  4. Suchen Sie FreDeployerJob in der Liste der WebJobs.
  5. Starten Sie FreDeployerJob auf der Registerkarte WebJobs mit dem Befehl „Run“ im Kontextmenü (Rechtsklick).
Sie können die Registerkarte Logs öffnen, um das Ergebnis der Bereitstellung zu überprüfen. Wenn die Bereitstellung erfolgreich ist, wird LibraryPackage.zip aus dem Container fre-lib hochgeladen und im Ordner %HOME_EXPANDED% bereitgestellt, der in App Service für alle Komponenten verfügbar ist. Um FreProcessorJob bereitzustellen, veröffentlichen Sie FreProcessorJob mit Visual Studio in Azure App Service (legen Sie als WebJob Type Continuous fest). Danach wird FreProcessorJob in der WebJobs-Liste Ihres App Service angezeigt. So verarbeiten Sie eine Datei:
  1. Laden Sie die Datei, die Sie verarbeiten möchten, in den processing-container hoch.
  2. Fügen Sie der processing-queue eine JSON-Nachricht für eine neue Verarbeitungsaufgabe im Format {“blob-item-name” : “file_name”} hinzu. Wenn Sie Demo.tif in den processing-container hochladen, sollte Ihre Nachricht wie folgt lauten:
  1. Warten Sie, bis die Aufgabe abgeschlossen ist. Sobald die neue Aufgabe eingerichtet ist, beginnt FreProcessorJob, die angegebene Datei im Speicher zu verarbeiten. Die Statuswarteschlange enthält Einträge zur Ausführung dieser Aufgabe.
  2. Suchen Sie die Ausgabedatei im Verarbeitungscontainer.
  1. FreProcessorJob arbeitet als Single-Thread-Prozess. Wenn Sie Ihre Dateien parallel verarbeiten möchten, müssen Sie mehrere FreProcessorJob erstellen, die dieselbe Warteschlange überwachen. 2. Jeder zusätzliche FreProcessorJob benötigt zusätzlichen Speicher. Berücksichtigen Sie dies bei der Auswahl Ihres Service Plans. Im Azure Free Service Plan ist es beispielsweise sinnvoll, nur einen FreProcessorJob zu verwenden, der wenig Speicher benötigt und dadurch eine stabile Dateiverarbeitung gewährleistet. 3. Ein einzelner FreProcessorJob eignet sich nicht für die Verarbeitung großer mehrseitiger Dokumente. Ziehen Sie in diesem Fall stattdessen die Erkennung Ihres Dokuments in Azure Cloud Service oder auf einer Azure Virtual Machine in Betracht.

Codebeispiele

Dieser Abschnitt enthält Codebeispiele für die Bereitstellung und Implementierung der ABBYY FineReader Engine API in App Service.

FreDeployerJob:

FreProcessorJob: