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:
- Einrichten Ihres lokalen Computers und Ihrer App-Instanz anhand der Voraussetzungen
- Durchführen der vorbereitenden Schritte vor dem Bereitstellen Ihrer Anwendung
- Bereitstellen und Ausführen Ihrer Anwendung in App Service
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:
- 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:- 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.
- Erstellen Sie ein Azure Storage-Konto (in diesem Artikel als frestorage bezeichnet). Alle erforderlichen Anweisungen finden Sie auf der Azure-Website.
- Erstellen Sie Ihren App Service nach Bedarf (Anweisungen finden Sie hier).
- Erstellen Sie zwei Blob-Container in frestorage:
- fre-lib – für die ABBYY FineReader Engine-Dateien
- processing-container – für Verarbeitungsergebnisse
- 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).
- 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).
- Erstellen Sie zwei Queues in frestorage:
- processing-queue – zum Festlegen der Dateiverarbeitungsaufgaben
- status-queue – zur Benachrichtigung über den Abschluss von Aufgaben
- 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:- Veröffentlichen Sie FreDeployerJob mit Visual Studio in Azure App Service (legen Sie als WebJob Type Triggered fest).
- Öffnen Sie Ihren App Service im Azure-Portal.
- Öffnen Sie die WebJobs Ihres App Service.
- Suchen Sie FreDeployerJob in der Liste der WebJobs.
- Starten Sie FreDeployerJob auf der Registerkarte WebJobs mit dem Befehl „Run“ im Kontextmenü (Rechtsklick).
- Laden Sie die Datei, die Sie verarbeiten möchten, in den processing-container hoch.
- 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:
- 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.
- Suchen Sie die Ausgabedatei im Verarbeitungscontainer.
Codebeispiele
Dieser Abschnitt enthält Codebeispiele für die Bereitstellung und Implementierung der ABBYY FineReader Engine API in App Service.FreDeployerJob:
Config.cs
Config.cs
Functions.cs
Functions.cs
Program.cs
Program.cs
FreProcessorJob:
Config.cs
Config.cs
Functions.cs
Functions.cs
Program.cs
Program.cs
EngineLoader.cs
EngineLoader.cs
IFileWriter.cs
IFileWriter.cs
Processor.cs
Processor.cs
