Регулярное распознавание изображений и PDF-документов из бакета Object Storage
В этом руководстве вы с помощью Yandex Vision OCR настроите автоматическое распознавание изображений в поддерживаемых форматах и PDF-документов, регулярно загружаемых в бакет Yandex Object Storage.
Процесс распознавания
- Пользователь загружает изображения или документы в бакет Yandex Object Storage, в директорию (префикс)
input. - Триггер Yandex Cloud Functions запускается по таймеру и проверяет наличие файлов в папке
input. После этого файлы отправляются на распознавание в контейнер Yandex Serverless Containers. - Идет процесс распознавания файлов, идентификатор операции сохраняется в папке
processв исходном бакете. - После успешного завершения операции, результаты распознавания сохраняются в папке
resultв виде JSON и TXT файлов. Идентификатор успешно выполненной операции удаляется из папкиprocess.
Для создания инфраструктуры используется Terraform-провайдер Yandex Cloud. Исходный код руководства доступен на GitHub
Чтобы настроить автоматическое распознавание изображения с помощью Vision OCR:
- Подготовьте облако к работе.
- Создайте инфраструктуру.
- Загрузите файлы для распознавания и проверьте работу сервиса.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры для регулярного распознавания изображений и документов входят:
- плата за хранение данных в бакете и операции с ними (см. тарифы Object Storage);
- плата за использование Vision OCR (см. тарифы для Vision OCR);
- плата за количество вызовов контейнера, вычислительные ресурсы, выделенные для выполнения приложения, и исходящий трафик (см. тарифы Serverless Containers);
- плата за хранение и операции с секретом (см. тарифы Yandex Lockbox).
Создайте инфраструктуру
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Для создания инфраструктуры с помощью Terraform:
-
Установите Terraform, получите данные для аутентификации и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).
-
Подготовьте файлы с описанием инфраструктуры:
-
Клонируйте репозиторий с конфигурационными файлами.
git clone https://github.com/yandex-cloud-examples/yc-vision-ocr-recognizer.git -
Перейдите в директорию
terraformвнутри репозитория. -
В файле
variables.auto.tfvarsзадайте пользовательские параметры:cloud_id— идентификатор облака.folder_id— идентификатор каталога.zone— зона доступности.
-
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
Будет создан бакет с именем в формате ocr-recognition-....
Загрузите файлы для распознавания и проверьте работу сервиса
- Загрузите файлы для распознавания в папку
inputвнутри бакета, созданного ранее. - Откройте в бакете папку
result— там должны отобразиться результаты распознавания в виде файлов с расширением .txt и .json.
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы:
-
Удалите файлы из бакета.
-
Откройте конфигурационный файл
main.tfи удалите описание создаваемой инфраструктуры из файла. -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-