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
- 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
- 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
- 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
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
