ABBYY Licensing Service で同時に使用できるオンライン ライセンスは 1 つだけです。
- 前提条件 に従って、オンライン ライセンス、ローカル マシン、およびクラウド インスタンスを準備する
- アプリケーションをデプロイする前に 準備手順 を実行する
- アプリケーションを Cloud Service にデプロイする
前提条件
オンライン ライセンス
- Customer Project ID
- オンライン ライセンス トークン ファイル
- ライセンス トークン ファイルのパスワード
- 有効なインターネット接続
- ポート 443 (HTTPS) で *.abbyy.com への接続が許可されていること
- 認証局の GoDaddy ルート証明書 (この証明書は、信頼されたルート証明機関の証明書ストアのローカル マシン ストアにインストールされている必要があります。証明書の詳細については、GoDaddy のウェブサイトを参照してください。)
ローカル マシン
- Visual Studio 2019 と、Azure 向けアプリケーション開発用モジュール (Visual Studio の Azure 機能を確認するか、Visual Studio Installer を使用してこれらのモジュールをダウンロードしてください)
- デバッグを容易にするための Cloud Service エミュレーターおよびストレージ (こちらの情報を参照し、Visual Studio Installer 経由でダウンロードしてください)
- 単一の Worker role プロジェクトを含む Azure Cloud Service (拡張プレビュー) 用のテンプレート ソリューション (こちらの情報を参照)
- .NET Framework 4.7.2
- Azure SDK (こちらからダウンロード)
- Azure Storage および Blob コンテナーを操作するための NuGet パッケージ - Azure.Storage.Blobs (こちらからダウンロード)
- .NET Framework 4.7 用 ABBYY FineReader Engine wrapper (開発者向けインストール後、C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops フォルダー内)
- Blob コンテナーを操作するためにオーバーライドした IFileWriter インターフェイス (以下のsampleを参照)
- Azure Storage Explorer (任意 - こちらからダウンロード)
Cloud Service インスタンス
- Service の .NET Framework バージョン
- ABBYY FineReader Engine のデプロイに使用する PowerShell
- Azure SDK のアップロードに使用する NuGet 2.8.5.201 以降
- PowerShell を使用して Azure Storage アカウントを操作するための Azure SDK
事前準備
- ABBYY FineReader Engine ライブラリと Licensing Service を含む 2 つのアーカイブ (たとえば、LibraryPackage.zip と LSPackage.zip) を作成します。FREngineDistribution.csv ファイルを使用すると、ファイル一覧を自動的に作成できます。ABBYY FineReader Engine と ライセンスサーバー には同じパッケージのものを使用してください。そうしないと、互換性は保証されません。
- Azure Storage アカウント (この記事では frestorage) を作成します。必要な手順はすべて Azure の Web サイトに記載されています。
- frestorage 内に 3 つの Blob コンテナーを作成します。
- fre-lib - ABBYY FineReader Engine のファイル用
- fre-input - 入力ファイル用
- fre-output - 処理結果用
- LibraryPackage.zip と LSPackage.zip を、最も使いやすい方法 (.NET、Powershell、Python スクリプト、または Azure Storage Explorer / Azure Portal アプリケーションの使用) で fre-lib コンテナーにアップロードします。
Cloud Service への ABBYY FineReader Engine のデプロイ
- 必要に応じて Cloud.cscfg のパラメーターを指定します。
- .csdef ファイルのパラメーターを指定します。
- (任意) WorkerRole の設定
- (任意) 仮想マシンのサイズ
- (必須) ロールのローカル ストレージ (LocalStorage セクション。この資料では、LocalStorage1 という名前のストレージを使用) 。ABBYY FineReader Engine パッケージを正しくデプロイできるよう、少なくとも 3 GB に設定します。
- (必須) ロールの起動順序 (コード サンプル セクションのコード サンプルと設定を使用)
- fre-input コンテナー内のファイルを処理し、処理結果を fre-output コンテナーに出力するように WorkerRole プロジェクトを実装します。
- Cloud Service を動作可能な状態に準備するための OnStart メソッド。このメソッドは、Engine を初期化し、TLS プロトコルを設定するために使用します。
- fre-input コンテナーから取得したファイルを繰り返し処理するための RunAsync メソッド。このメソッドは、fre-input コンテナー内のファイルを検出し、メモリ内で処理した後、fre-output コンテナーに配置します (Processor.cs、IFileWriter.cs、Config.cs を参照) 。
- Cloud Service の動作を終了するための OnStop メソッド。このメソッドは、Engine の初期化を解除するために使用します。
コード サンプル
- CleanUpOnStart - 以前のバージョンの ABBYY FineReader Engine を削除し、更新手順を簡略化します (下記の CleanUpOnStart.cmd ファイルおよび CleanUpOnStart.ps1 ファイルの内容を参照) 。
- PreparePoShModules - PowerShell で Azure Storage を操作するために必要な SDK をダウンロードします (下記の PreparePoShModules.cmd ファイルおよび PreparePoShModules.ps1 ファイルの内容を参照) 。
- PrepareLibrary - fre-lib コンテナーから ABBYY FineReader Engine ライブラリを取得し、ローカル ストレージに展開します (下記の PrepareLibrary.cmd ファイルおよび PrepareLibrary.ps1 ファイルの内容を参照) 。
- PrepareLS - fre-lib コンテナーから Licensing Service を取得し、展開して起動します (下記の PrepareLS.cmd ファイルおよび PrepareLS.ps1 ファイルの内容を参照) 。
- taskType=“simple” - タスクは同期的に、1 回に 1 つずつ実行されます。
- executionContext=“elevated” - スタートアップ スクリプトを管理者権限で実行します (アプリケーションのインストールと LicensingService.exe の実行に必要です)
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
IFileWriter インターフェイスの実装
IFileWriter インターフェイスの実装
ABBYY FineReader Engine を使用したファイル処理のサンプル
ABBYY FineReader Engine を使用したファイル処理のサンプル
Processor.cs
Processor.cs
Config.cs
Config.cs
