Saltar al contenido principal
Esta sección proporciona instrucciones sobre cómo desplegar una aplicación FRE 12 para Windows en Azure Cloud Service. Como ejemplo, se muestra un Worker que procesa archivos mediante un contenedor en una cuenta de Azure Storage. Para implementar este escenario, se utiliza una licencia en línea que se conecta al servidor de licencias de *.abbyy.com.
El servicio de licencias de ABBYY solo puede funcionar con una licencia en línea al mismo tiempo.
Desplegar su aplicación en Cloud Service incluye varios pasos:
  1. Configurar su licencia en línea, el equipo local y la instancia en la nube siguiendo los requisitos previos
  2. Realizar los pasos preparatorios antes de desplegar su aplicación
  3. Desplegar su aplicación en Cloud Service
Consulte los ejemplos de código que muestran cómo usar los métodos de ABBYY FineReader Engine para el procesamiento de documentos.

Requisitos previos

Licencia en línea

Para usar una licencia en línea, debe recibir la siguiente información del equipo de ventas:
  • su Customer Project ID
  • un archivo de token de licencia para la licencia en línea
  • la contraseña del archivo de token de licencia
Debe cumplir las siguientes condiciones para usar una licencia en línea en cualquier lugar donde esté instalado el servicio de licencias de ABBYY:
  • Conexión activa a Internet
  • Conexiones permitidas a *.abbyy.com por el puerto 443 (HTTPS)
  • Certificado raíz de GoDaddy para la entidad de certificación (Debe estar instalado en el almacén de certificados Trusted Root Certification Authorities de la versión del equipo local. Consulte la información detallada sobre el certificado en el sitio web de GoDaddy).

Equipo local

Antes de crear su Cloud Service, use la siguiente especificación para preparar su equipo local:
  • Visual Studio 2019 y sus módulos para desarrollar aplicaciones para Azure (consulte Funcionalidades de Azure en Visual Studio o use Visual Studio Installer para descargar dichos módulos)
  • Emuladores de Cloud Service y almacenamiento para facilitar la depuración (consulte la información aquí y descárguelos mediante Visual Studio Installer)
  • Solución de plantilla para Azure Cloud Service (versión preliminar extendida) con un único proyecto de rol Worker (consulte la información aquí)
  • .NET Framework 4.7.2
  • SDK de Azure (descárguelo aquí)
  • Paquete NuGet para trabajar con Azure Storage y contenedores Blob: Azure.Storage.Blobs (descárguelo aquí)
  • Wrapper de ABBYY FineReader Engine para .NET Framework 4.7 (en la carpeta C:\ProgramData\ABBYY\SDK\12\FineReader Engine\Inc.NET interops tras una instalación Developer)
  • Interfaz IFileWriter con implementación personalizada para trabajar con contenedores Blob (consulte el ejemplo a continuación)
  • Azure Storage Explorer (opcional; descárguelo aquí)

Instancia de Cloud Service

La instancia de Cloud Service se utiliza para almacenar su proyecto WorkerRole en Azure. Use la siguiente especificación para configurar esta instancia:
  • versión de .NET Framework de su servicio
  • PowerShell para implementar ABBYY FineReader Engine
  • NuGet 2.8.5.201 o superior para cargar el SDK de Azure
  • SDK de Azure para trabajar con una cuenta de Azure Storage mediante PowerShell

Pasos preparatorios

Los pasos preparatorios deben realizarse en su equipo local. Al completar estos pasos, preparará toda la configuración y los archivos necesarios para comenzar el despliegue de su aplicación:
  1. Cree dos archivos comprimidos con ABBYY FineReader Engine Library y el servicio de licencias (por ejemplo, LibraryPackage.zip y LSPackage.zip). Puede generar la lista de archivos automáticamente con ayuda del archivo FREngineDistribution.csv. Use ABBYY FineReader Engine y el servidor de licencias del mismo paquete; de lo contrario, no se garantiza la compatibilidad.
  2. Cree la cuenta de Azure Storage (frestorage en este artículo). Puede encontrar todas las instrucciones necesarias en el sitio web de Azure.
  3. Cree tres contenedores de blobs dentro de frestorage:
  • fre-lib - para los archivos de ABBYY FineReader Engine
  • fre-input - para los archivos de entrada
  • fre-output - para los resultados del procesamiento
  1. Cargue LibraryPackage.zip y LSPackage.zip en el contenedor fre-lib de la forma que le resulte más conveniente (mediante .NET, PowerShell, un script de Python o las aplicaciones Azure Storage Explorer/Azure Portal).
Como ejemplo, se utiliza un proyecto WorkerRole para trabajar en un entorno configurado. Todos los archivos de configuración necesarios (.csdef y Cloud.cscfg) se generan automáticamente después de crear su proyecto.

Implementación de ABBYY FineReader Engine en Cloud Service

Para implementar ABBYY FineReader Engine en su nuevo proyecto de WorkerRole:
  1. Especifique los parámetros de Cloud.cscfg según sea necesario.
  2. Especifique los parámetros del archivo .csdef:
  • (opcional) la configuración de su WorkerRole
  • (opcional) el tamaño de su máquina virtual
  • (obligatorio) el almacenamiento local de su rol (sección LocalStorage; en este artículo, el almacenamiento denominado LocalStorage1). Configúrelo con al menos 3 GB para garantizar que el paquete de ABBYY FineReader Engine se implemente correctamente.
  • (obligatorio) el orden de inicio de su rol (use los ejemplos de código y la configuración de la sección code samples)
  1. Implemente su proyecto de WorkerRole para procesar archivos del contenedor fre-input y publicar los resultados del procesamiento en el contenedor fre-output:
  • el método OnStart para preparar su Cloud Service para su funcionamiento. Este método se utiliza para inicializar el Engine y configurar el protocolo TLS.
  • el método RunAsync para procesar cíclicamente los archivos tomados del contenedor fre-input. Este método detecta los archivos del contenedor fre-input, los procesa en memoria y los coloca en el contenedor fre-output (consulte Processor.cs, IFileWriter.cs y Config.cs).
  • el método OnStop para finalizar la ejecución de Cloud Service. Este método se utiliza para desinicializar el Engine.

Ejemplos de código

Esta sección incluye ejemplos de código que se utilizan para configurar el orden de inicio de los roles y los ajustes de ABBYY FineReader Engine:
  • CleanUpOnStart - elimina la versión anterior de ABBYY FineReader Engine y simplifica el procedimiento de actualización (consulte su contenido en los archivos CleanUpOnStart.cmd y CleanUpOnStart.ps1 a continuación).
  • PreparePoShModules - descarga el SDK necesario para que PowerShell funcione con Azure Storage (consulte su contenido en los archivos PreparePoShModules.cmd y PreparePoShModules.ps1 a continuación).
  • PrepareLibrary - carga y descomprime la ABBYY FineReader Engine Library desde el contenedor fre-lib en el almacenamiento local (consulte su contenido en los archivos PrepareLibrary.cmd y PrepareLibrary.ps1 a continuación).
  • PrepareLS - carga, descomprime e inicia el servicio de licencias desde el contenedor fre-lib (consulte su contenido en los archivos PrepareLS.cmd y PrepareLS.ps1 a continuación).
Es necesario que los scripts indicados anteriormente se ejecuten exactamente en el orden propuesto, antes de iniciar la aplicación. Para personalizar el orden de ejecución de los scripts, especifique los siguientes atributos:
  • taskType=“simple” - las tareas se ejecutan de forma síncrona, una por una.
  • executionContext=“elevated” - ejecución de un script de inicio con derechos de administrador (necesario para poder instalar cualquier aplicación y ejecutar LicensingService.exe)
Como resultado, se creará una carpeta que Cloud Service podrá administrar. Esta carpeta se usa para cargar ABBYY FineReader Engine mediante los scripts indicados anteriormente y cargar FREngine.dll para su uso posterior en el ejemplo.