Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
    • Все руководства
    • Статический сайт в Object Storage
    • Сайт на LAMP- или LEMP-стеке
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Network Load Balancer
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Application Load Balancer
    • Сайт на базе Joomla с БД PostgreSQL
    • Создание сайта на WordPress
    • Сайт на WordPress с БД MySQL
    • Перенос WordPress сайта с хостинга в Yandex Cloud
    • Сайт на базе 1С-Битрикс
    • Организация виртуального хостинга
    • Создание балансировщика с защитой от DDoS
    • Публикация обновлений для игр с помощью Cloud CDN
    • Интеграция L7-балансировщика с Cloud CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Терминирование TLS-соединений
  • Интернет-магазины
    • Все руководства
    • Интернет-магазин на 1С-Битрикс
    • Интернет-магазин на OpenCart
  • Архив данных
    • Все руководства
    • Однонодовый файловый сервер
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование в Object Storage через Acronis
    • Резервное копирование в Object Storage с помощью CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Распознавание архива изображений в Vision
  • Тестовая среда
    • Все руководства
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Высокопроизводительные вычисления на прерываемых ВМ
    • Эмуляция множества IoT-устройств
    • Нагрузочное тестирование gRPC-сервиса
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
    • Нагрузочное тестирование с нескольких агентов
  • Управление инфраструктурой
    • Все руководства
    • Начало работы с Terraform
    • Загрузка состояний Terraform в Object Storage
    • Начало работы с Packer
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Миграция в Yandex Cloud с помощью Hystax Acura
    • Защита от сбоев с помощью Hystax Acura
    • Настройка синхронизации часов с помощью NTP
    • Работа с группой ВМ с автомасштабированием
    • Масштабирование группы ВМ по расписанию
    • Автомасштабирование группы ВМ для обработки сообщений из очереди Message Queue
    • Обновление группы ВМ под нагрузкой
    • Передача логов с ВМ в Cloud Logging
    • Резервное копирование ВМ с помощью Hystax Acura Backup
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание SAP-программы в Yandex Cloud
    • Настройка локального кеширующего DNS-резолвера
    • Миграция DNS-зон из Яндекс 360 в Cloud DNS
    • Интеграция Cloud DNS и корпоративного сервиса DNS
    • Создание веб-хука резолвера ACME для ответов на DNS01-проверки
    • Запись логов балансировщика в PostgreSQL
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
  • Построение Data Platform
    • Все руководства
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Управление схемами данных в Managed Service for Apache Kafka®
    • Использование Managed Schema Registry с Managed Service for Apache Kafka®
    • Использование Confluent Schema Registry с Managed Service for Apache Kafka®
    • Миграция базы данных из MySQL в ClickHouse с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Настройка Managed Service for ClickHouse для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Получение данных из RabbitMQ в Managed Service for ClickHouse
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse
    • Использование гибридного хранилища в Managed Service for ClickHouse
    • Шардирование таблиц Managed Service for ClickHouse
    • Настройка Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse из других облачных сетей
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Использование скриптов инициализации для настройки GeeseFS в Data Proc
    • Миграция данных из стороннего кластера Elasticsearch в Managed Service for Elasticsearch с помощью Reindex API
    • Миграция коллекций из стороннего кластера MongoDB в Managed Service for MongoDB
    • Миграция данных в Managed Service for MongoDB
    • Шардирование коллекций MongoDB
    • Анализ производительности и оптимизация MongoDB
    • Миграция БД из стороннего кластера MySQL в кластер Managed Service for MySQL
    • Анализ производительности и оптимизация Managed Service for MySQL
    • Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL в сторонний кластер MySQL
    • Миграция БД из Managed Service for MySQL в Object Storage с помощью Data Transfer
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Анализ производительности и оптимизация Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Миграция БД из Greenplum® в ClickHouse
    • Миграция БД из Greenplum® в PostgreSQL
    • Миграция БД из стороннего кластера Redis в Managed Service for Redis
    • Использование кластера Managed Service for Redis в качестве хранилища сессий PHP
  • Продукты Microsoft в Yandex Cloud
    • Все руководства
    • Развертывание Active Directory
    • Развертывание Microsoft Exchange
    • Развертывание Remote Desktop Services
    • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
    • Развертывание Remote Desktop Gateway
  • Сетевая инфраструктура
    • Все руководства
    • Архитектура и защита базового интернет-сервиса
    • Настройки DHCP для работы с корпоративным DNS-сервером
    • Маршрутизация с помощью NAT-инстанса
    • Создание туннеля IPSec VPN
    • Установка виртуального роутера Cisco CSR 1000v
    • Установка виртуального роутера Mikrotik CHR
    • Соединение с облачной сетью при помощи OpenVPN
    • Создание и настройка шлюза UserGate в режиме прокси-сервера
    • Создание и настройка шлюза UserGate в режиме межсетевого экрана
    • Настройка сети для Data Proc
  • Визуализация и анализ данных
    • Все руководства
    • Визуализация данных из файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse и Cloud Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью QL-чарта
    • Анализ customer journey мобильного приложения на данных AppMetrica
    • Анализ логов Object Storage при помощи DataLens
  • Интернет вещей
    • Руководства по работе с интернетом вещей
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Разработка навыка Алисы и сайта с авторизацией
  1. Архив данных
  2. Распознавание архива изображений в Vision

Распознавание архива изображений в Yandex Vision

Статья создана
Yandex Cloud
,
улучшена
Dmitry A.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Создайте бакет
  • Создайте виртуальную машину
  • Настройте виртуальную машину
    • Настройте Yandex Cloud CLI
    • Настройте сервисный аккаунт
    • Настройте AWS CLI
  • Создайте архив с изображениями
  • Подготовьте скрипт для распознавания и загрузки изображений
    • Настройте окружение
    • Создайте скрипт
  • Проверьте корректность распознавания
  • Как удалить созданные ресурсы

Используйте сервис Yandex Vision для распознавания текста на изображениях. Также вы можете использовать Yandex Object Storage для хранения исходных изображений и результатов распознавания.

Чтобы настроить инфраструктуру для распознавания текста с помощью Vision и автоматической выгрузки результатов в Object Storage:

  1. Подготовьте облако к работе.
  2. Создайте бакет.
  3. Создайте виртуальную машину.
  4. Настройте виртуальную машину.
  5. Создайте архив с изображениями.
  6. Подготовьте скрипт для распознавания и загрузки изображений.
  7. Проверьте корректность распознавания.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работы

Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки инфраструктуры для распознавания изображений и хранения данных входят:

  • плата за вычислительные ресурсы и диски ВМ (см. тарифы Yandex Compute Cloud);
  • плата за хранение данных в бакете и операции с ними (см. тарифы Yandex Object Storage);
  • плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за использование Yandex Vision (см. тарифы для Yandex Vision).

Создайте бакет

Чтобы создать бакет Object Storage для хранения исходных изображений и результатов распознавания:

Консоль управления
  1. Перейдите в консоль управления Yandex Cloud и выберите каталог, в котором будете выполнять операции.
  2. На странице каталога нажмите кнопку Создать ресурс и выберите Бакет.
  3. В поле Имя введите имя бакета в соответствии с правилами именования, например vision-bucket.
  4. В поле Доступ к бакету выберите Ограниченный.
  5. В поле Класс хранилища выберите Холодное.
  6. Нажмите кнопку Создать бакет.

Создайте виртуальную машину

Консоль управления
  1. В консоли управления на странице каталога нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В поле Имя введите имя ВМ, например vision-vm. Требования к имени:

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  3. Выберите зону доступности, в которой будет находиться ВМ.

  4. В блоке Выбор образа/загрузочного диска перейдите на вкладку Cloud Marketplace и выберите публичный образ CentOS 7.

  5. В блоке Диски и файловые хранилища выберите параметры:

    • Тип — SSD.
    • Размер — 19 ГБ.
  6. В блоке Вычислительные ресурсы выберите параметры:

    • Платформа — Intel Cascade Lake.
    • Гарантированная доля vCPU — 20%.
    • vCPU — 2.
    • RAM — 2 ГБ.
  7. В блоке Сетевые настройки выберите сеть и подсеть, к которым нужно подключить ВМ. Если сети нет, создайте ее:

    1. Выберите пункт Создать сеть.

    2. В открывшемся окне укажите имя сети и каталог, в котором она будет создана.

    3. (опционально) Для автоматического создания подсетей выберите опцию Создать подсети.

    4. Нажмите кнопку Создать.

      У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав пункт Добавить подсеть.

  8. В поле Публичный адрес оставьте значение Автоматически, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.

  9. Укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя.

    • В поле SSH-ключ вставьте содержимое файла открытого ключа.

      Пару ключей для подключения по SSH необходимо создать самостоятельно, см. Создание пары ключей SSH.

  10. Нажмите кнопку Создать ВМ.

  11. Дождитесь перехода ВМ в статус Running и сохраните ее публичный IP-адрес, он понадобится для SSH-подключения.

Настройте виртуальную машину

Настройте Yandex Cloud CLI

  1. Подключитесь к ВМ по протоколу SSH.

  2. Установите на ВМ Yandex Cloud CLI и создайте профиль.

  3. Убедитесь, что Yandex Cloud CLI функционирует корректно:

    CLI

    На ВМ выполните команду:

    yc config list
    

    Результат:

    token: AQ...gs
    cloud-id: b1gdtdqb1900f5rqqvli
    folder-id: b1gveg9vude9g3uioa50
    

    Сохраните идентификатор каталога — параметр folder-id, он понадобится для настройки сервисного аккаунта.

Настройте сервисный аккаунт

CLI
  1. Создайте сервисный аккаунт:

    yc iam service-account create \
      --name <имя_сервисного_аккаунта> \
      --description "<описание_сервисного_аккаунта>"
    

    Где:

    • --name — имя сервисного аккаунта, например vision-sa.
    • --description — описание сервисного аккаунта, например this is vision service account.

    Результат:

    id: aje6aoc8hccuh5tp55bg
    folder_id: b1gv87ssvu497lpgjh5o
    created_at: "2022-10-12T14:04:43.198559512Z"
    name: vision-sa
    description: this is vision service account
    

    Сохраните идентификатор сервисного аккаунта — параметр id, он понадобится для дальнейшей настройки.

  2. Назначьте сервисному аккаунту роль editor:

    yc resource-manager folder add-access-binding <идентификатор_каталога> \
      --role editor \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Где:

    • --role — назначаемая роль.
    • --subject serviceAccount — идентификатор сервисного аккаунта.
  3. Создайте статический ключ доступа для сервисного аккаунта:

    yc iam access-key create \
      --service-account-id <идентификатор_сервисного_аккаунта> \
      --description "<описание_ключа>"
    

    Где:

    • --service-account-id — идентификатор сервисного аккаунта.
    • --description — описание ключа, например this key is for vision.

    Результат:

    access_key:
      id: ajen8d7fur27bt8losom
      service_account_id: aje6aoc8hccuh5tp55bg
      created_at: "2022-10-12T15:08:08.045280520Z"
      description: this key is for vision
      key_id: YC...li
    secret: YC...J5
    

    Сохраните следующие параметры, они понадобятся для конфигурации утилиты AWS CLI:

    • key_id — идентификатор статического ключ доступа.
    • secret — секретный ключ.
  4. Создайте авторизованный ключ для сервисного аккаунта:

    yc iam key create \
      --service-account-id <идентификатор_сервисного_аккаунта> \
      --output key.json
    

    Где:

    • --service-account-id — идентификатор сервисного аккаунта.
    • --output — имя файла с авторизованным ключом в формате JSON.

    Результат:

    id: aje3qc9pagb9kedkhdn5
    service_account_id: aje6aoc8hccuh5tp55bg
    created_at: "2022-10-13T12:53:04.810240976Z"
    key_algorithm: RSA_2048
    
  5. Создайте профиль Yandex Cloud CLI для работы от имени сервисного аккаунта, например vision-profile:

    yc config profile create vision-profile
    

    Результат:

    Profile 'vision-profile' created and activated
    
  6. Укажите в конфигурации профиля авторизованный ключ сервисного аккаунта:

    yc config set service-account-key key.json
    
  7. Получите IAM-токен для сервисного аккаунта:

    yc iam create-token
    

    Сохраните IAM-токен, он понадобится для отправки изображений в Vision.

Настройте AWS CLI

  1. Обновите пакеты, установленные в операционной системе ВМ, для этого выполните команду:

    sudo yum update -y
    
  2. Установите AWS CLI:

    sudo yum install awscli -y
    
  3. Настройте AWS CLI:

    aws configure
    

    Укажите значения параметров:

    • AWS Access Key ID — идентификатор статического ключа доступа key_id, который вы получили при настройке сервисного аккаунта.
    • AWS Secret Access Key — секретный ключ secret, который вы получили при настройке сервисного аккаунта.
    • Default region name — ru-central1.
    • Default output format — json.
  4. Проверьте, что файл ~/.aws/credentials содержит правильные значения параметров key_id и secret:

    cat ~/.aws/credentials
    
  5. Проверьте, что файл ~/.aws/config содержит правильные значения параметров Default region name и Default output format:

    cat ~/.aws/config
    

Создайте архив с изображениями

  1. Загрузите изображения с текстом в бакет.

    Совет

    Воспользуйтесь примером изображения дорожного знака, предупреждающего о пингвинах.

  2. Убедитесь, что изображения были загружены, указав в запросе имя бакета:

    aws --endpoint-url=https://storage.yandexcloud.net s3 ls s3://<имя_бакета>/
    
  3. Сохраните изображения из бакета на ВМ, например в директорию my_pictures:

    aws --endpoint-url=https://storage.yandexcloud.net s3 cp s3://<имя_бакета>/ my_pictures --recursive
    
  4. Запакуйте изображения в архив, например в my_pictures.tar:

    tar -cf my_pictures.tar my_pictures/*
    
  5. Удалите директорию с изображениями:

    rm -rfd my_pictures
    

Подготовьте скрипт для распознавания и загрузки изображений

Настройте окружение

  1. Установите пакет jq, который понадобится для обработки результатов из Vision:

    sudo yum install jq -y
    
  2. Установите текстовый редактор nano:

    sudo yum install nano -y
    
  3. Задайте переменные окружения, необходимые для работы скрипта:

    export BUCKETNAME="<имя_бакета>"
    export FOLDERID="<идентификатор_каталога>"
    export IAMTOKEN="<IAM-токен>"
    

    Где:

    • BUCKETNAME — имя бакета.
    • FOLDERID — идентификатор каталога.
    • IAMTOKEN — IAM-токен, который вы получили при настройке сервисного аккаунта.

Создайте скрипт

В скрипте выполняются следующие этапы:

  1. Создаются необходимые директории.
  2. Распаковывается архив с изображениями.
  3. Последовательно обрабатываются все изображения:
    1. Изображение кодируется по стандарту Base64.
    2. Формируется тело запроса для конкретного изображения.
    3. Изображение отправляется в POST-запросе в Vision для распознавания.
    4. Полученный результат записывается в файл output.json в формате JSON.
    5. Из файла output.json выделяется распознанный текст и записывается в текстовый файл.
  4. Полученные текстовые файлы запаковываются в архив.
  5. Архив с текстовыми файлами загружается в Object Storage.
  6. Удаляются служебные файлы.

Для удобства в текст скрипта добавлены комментарии к каждому этапу.

Чтобы реализовать скрипт:

  1. Создайте файл, например vision.sh, и откройте его в текстовом редакторе nano:

    sudo nano vision.sh
    
  2. Скопируйте в файл vision.sh текст скрипта:

    #!/bin/bash
    
    # Создать необходимые директории
     echo "Creating directories..."
    
    # Создать директорию для распознанного текста
    mkdir my_pictures_text
    
    # Распаковать архив с изображениями в созданную директорию
    echo "Extract pictures in my_pictures directory..."
    tar -xf my_pictures.tar
    
    # Распознать изображения из архива
    FILES=my_pictures/*
    for f in $FILES
    # В цикле для каждого файла из директории произвести следующие действия:
    do
        # Закодировать изображение по стандарту Base64 для отправки в Vision
        CODEIMG=$(base64 -i $f | cat)
    
        # Создать файл body.json, который будет отправляться в POST-запросе в Vision
        cat <<EOF > body.json
    {
    "folderId": "$FOLDERID",
    "analyze_specs": [{
    "content": "$CODEIMG",
    "features": [{
    "type": "TEXT_DETECTION",
    "text_detection_config": {
    "language_codes": ["en","ru"]
    }
    }]
    }]
    }
    EOF
        # Отправить изображение в Vision для распознавания и записать результат в файл output.json
        echo "Processing file $f in Vision..."
        curl -X POST --silent \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${IAMTOKEN}" \
        -d '@body.json' \
        https://vision.api.cloud.yandex.net/vision/v1/batchAnalyze > output.json
    
        # Получить имя файла с изображением для дальнейшей подстановки
        IMAGE_BASE_NAME=$(basename -- "$f")
        IMAGE_NAME="${IMAGE_BASE_NAME%.*}"
    
        # Получить из файла output.json текстовые данные и записать их в TXT-файл с таким же именем, как у файла с изображением
        cat output.json | jq -r '.results[].results[].textDetection.pages[].blocks[].lines[].words[].text' | awk -v ORS=" " '{print}' > my_pictures_text/$IMAGE_NAME".txt"
    done
    
    # Запаковать содержимое директории с текстовыми файлами в архив
    echo "Packing text files to archive..."
    tar -cf my_pictures_text.tar my_pictures_text
    
    # Отправить архив с текстовыми файлами в бакет
    echo "Sending archive to Object Storage Bucket..."
    aws --endpoint-url=https://storage.yandexcloud.net s3 cp my_pictures_text.tar s3://$BUCKETNAME/ > /dev/null
    
    # Удалить служебные файлы
    echo "Cleaning up..."
    rm -f body.json
    rm -f output.json
    rm -rfd my_pictures
    rm -rfd my_pictures_text
    rm -r my_pictures_text.tar
    
  3. Установите разрешения на запуск скрипта:

    sudo chmod 755 vision.sh
    
  4. Запустите скрипт:

    ./vision.sh
    

Проверьте корректность распознавания

Консоль управления
  1. В консоли управления Yandex Cloud выберите каталог, в котором находится бакет с результатами распознавания.
  2. Выберите сервис Object Storage.
  3. Откройте бакет с результатами распознавания.
  4. Убедитесь, что в бакете появился архив my_pictures_text.tar.
  5. Скачайте и распакуйте архив.
  6. Убедитесь что текст в файлах <имя_изображения>.txt совпадает с текстом на соответствующих изображениях.

Как удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите все объекты в бакете.
  2. Удалите бакет.
  3. Удалите ВМ.
  4. Удалите статический публичный IP-адрес, если вы его зарезервировали.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Необходимые платные ресурсы
  • Создайте бакет
  • Создайте виртуальную машину
  • Настройте виртуальную машину
  • Настройте Yandex Cloud CLI
  • Настройте сервисный аккаунт
  • Настройте AWS CLI
  • Создайте архив с изображениями
  • Подготовьте скрипт для распознавания и загрузки изображений
  • Настройте окружение
  • Создайте скрипт
  • Проверьте корректность распознавания
  • Как удалить созданные ресурсы