Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом руководстве описано, как активировать пакетное задание с помощью Функций Azure. В этой статье описывается пример, который обрабатывает документы, добавленные в контейнер BLOB-объектов службы хранилища Azure, и применяет оптическое распознавание символов (OCR) с помощью пакетной службы Azure. Чтобы упростить обработку OCR, в этом примере настраивается функция Azure, которая запускает пакетную задачу OCR при каждом добавлении файла в контейнер объектов BLOB. Вы узнаете, как:
- Используйте портал Azure для создания пулов и заданий.
- Создайте контейнеры объектов BLOB и общую ключевую подпись доступа (SAS).
- Создайте функцию Azure, активируемую объектом Blob.
- Отправка входных файлов в хранилище.
- Мониторинг выполнения задач.
- Получение выходных файлов.
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Учетная запись пакетной службы Azure и связанная учетная запись хранения Azure. Дополнительные сведения о создании и связывании учетных записей см. в Создание учетной записи Batch.
Вход в Azure
Войдите на портал Azure.
Создание пула пакетов и пакетной задачи с помощью портала Azure
В этом разделе вы используете портал Azure для создания пула Batch и задания Batch для выполнения задач OCR.
Создание пула
Войдите на портал Azure с помощью учетных данных Azure.
Создайте пул, выбрав пулы на левой стороне навигации, а затем нажмите кнопку "Добавить " над формой поиска.
- Введите идентификатор пула. В этом примере имя пула
ocr-pool. - Выберите canonical в качестве издателя.
- Выберите 0001-com-ubuntu-server-jammy в качестве предложения.
- Выберите 22_04-lts в качестве SKU.
- Выберите
Standard_F2s_v2 - 2 vCPUs, 2 GB Memoryразмер виртуальной машины в разделе "Размер узла ". - Задайте Режим в разделе Масштабирование на Фиксированное, и введите 3 для выделенных целевых узлов.
- Задайте для задачи "Пуск" значение "Включить начальную задачу" и введите команду
/bin/bash -c "sudo update-locale LC_ALL=C.UTF-8 LANG=C.UTF-8; sudo apt-get update; sudo apt-get -y install ocrmypdf"в командной строке. Не забудьте установить уровень привилегий как Автопользователь пула, Администратор, что позволяет запускать задачи, включая команды сsudo. - Нажмите ОК.
- Введите идентификатор пула. В этом примере имя пула
Создание задания
- Создайте задание в пуле, выбрав задания в левой части навигации, а затем нажмите кнопку "Добавить " над формой поиска.
- Введите идентификатор задания. В этом примере используется
ocr-job. - Выберите
ocr-poolдля текущего пула или любое имя, выбранное для пула. - Нажмите ОК.
- Введите идентификатор задания. В этом примере используется
Создание контейнеров BLOB-объектов
Здесь можно создать контейнеры blob, которые хранят входные и выходные файлы для пакетного задания OCR. В этом примере входной контейнер называется input и где все документы без OCR изначально отправляются для обработки. Выходной контейнер называется output и является тем местом, где пакетная задача записывает в OCR обработанные документы.
Найдите и выберите учетные записи хранения на портале Azure.
Выберите учетную запись для хранения, связанную с учетной записью Batch.
Выберите контейнеры из левой части навигации и создайте два контейнера BLOB-объектов (один для входных файлов, один для выходных файлов), выполнив действия по созданию контейнера BLOB-объектов.
Создайте подпись общего доступа для вашего выходного контейнера, выбрав выходной контейнер, а на странице токены общего доступа выберите «Запись» в раскрывающемся списке «Разрешения». Никаких других разрешений не требуется.
Выберите Создать маркер и URL-адрес SAS и скопируйте URL-адрес SAS большого двоичного объекта, чтобы использовать его позже для вашей функции.
Создание функции Azure
В этом разделе описано, как создать функцию Azure, которая активирует задание пакетной службы OCR при отправке файла в входной контейнер.
Выполните действия, описанные в статье "Создание функции, активируемой хранилищем BLOB-объектов Azure для создания функции".
- Для стека среды выполнения выберите .NET. В этом примере функция на C# демонстрирует преимущества использования пакетного SDK для .NET.
- На странице хранилища используйте ту же учетную запись хранилища, которую вы связали с вашей учетной записью Batch.
- Выберите Рецензирование и Создать > Создать.
На следующем снимке экрана показана страница Создание функционального приложения на вкладке Основные сведения с использованием примерной информации.
В функции выберите "Функции " в левой части навигации и нажмите кнопку "Создать".
В области Создание функции выберите триггер для хранилища BLOB-объектов Azure.
Введите имя функции в новой функции. В этом примере имя — OcrTrigger. Введите путь как
input/{name}, где input — это имя контейнера BLOB-объектов.Выберите Создать.
После создания функции, активируемой большим двоичным объектом, выберите "Код и тест". Используйте
run.csxиfunction.projиз GitHub в функции.function.projПо умолчанию не существует, поэтому нажмите кнопку "Отправить ", чтобы отправить ее в рабочую область разработки.-
run.csxзапускается при добавлении нового объекта в ваш входной BLOB-контейнер. -
function.projперечисляет внешние библиотеки в коде функции, например Batch .NET SDK.
-
Измените значения переменных заполнителей в функции
Run()файлаrun.csx, чтобы они соответствовали вашим учетным данным для пакетной обработки и хранения. Учетные данные пакетной службы и учетной записи хранения можно найти на портале Azure в разделе "Ключи " учетной записи пакетной службы и хранения.
Активация функции и получение результатов
Отправьте любой или все сканированные файлы из input_files каталога на GitHub в входной контейнер.
Вы можете протестировать функцию на портале Azure на странице "Код и тест " функции.
- Выберите "Тест и запуск " на странице "Код и тест ".
- Введите путь к вашему контейнеру ввода в Body на вкладке Входные данные.
- Выберите Выполнить.
Через несколько секунд в выходной контейнер добавляется файл с OCR. Информация журнала выводится в нижнее окно. Затем файл становится видимым и доступным для извлечения в Storage Explorer.
Также информацию о журнале можно найти на странице Монитор.
2019-05-29T19:45:25.846 [Information] Creating job...
2019-05-29T19:45:25.847 [Information] Accessing input container <inputContainer>...
2019-05-29T19:45:25.847 [Information] Adding <fileName> as a resource file...
2019-05-29T19:45:25.848 [Information] Name of output text file: <outputTxtFile>
2019-05-29T19:45:25.848 [Information] Name of output PDF file: <outputPdfFile>
2019-05-29T19:45:26.200 [Information] Adding OCR task <taskID> for <fileName> <size of fileName>...
Чтобы скачать выходные файлы на локальный компьютер, перейдите в выходной контейнер в учетной записи хранения. Выберите дополнительные параметры в нужном файле и нажмите кнопку "Скачать".
Подсказка
Скачанные файлы доступны для поиска при открытии в средстве чтения PDF.
Очистка ресурсов
Плата за пул взимается, пока узлы работают, даже если задания не назначены. Если пул больше не нужен, удалите его с помощью следующих действий:
- На странице пулов вашей учетной записи Batch выберите дополнительные параметры вашего пула.
- Выберите команду Удалить.
При удалении пула удаляются все выходные данные задачи в узлах. Но выходные файлы сохраняются в учетной записи хранения. Если она больше не нужна, вы также можете удалить учетную запись пакетной службы и учетную запись хранения.
Дальнейшие действия
Дополнительные примеры использования API .NET для планирования и обработки рабочих нагрузок пакетной службы см. в примерах на GitHub.