Получите доступ к своей учётной записи Batch с помощью клиентской библиотеки .NET.

Завершено

В предыдущем уроке вы создали учетные записи пакетной службы Azure и службы хранилища Azure. Затем вы добавили ffmpeg в качестве приложения, чтобы пакетные задания могли использовать его для своих задач. Давайте еще раз рассмотрим наш сценарий.

Вы хотите автоматизировать процесс преобразования видеофайлов MP4 в анимированные GIF-файлы. Для этого вы создадите приложение, которое может отправлять видеофайлы для преобразования, запускать преобразование параллельно во всех отправленных файлах, отслеживать ход выполнения и, наконец, скачать результаты.

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

Клиентские библиотеки Azure

Существует два пакета NuGet, которые необходимо импортировать в приложение. Первым является клиентская библиотека пакетной службы Azure, Microsoft.Azure.Batch. Эта библиотека будет использоваться для создания и удаления пулов пакетной службы Azure, создания и удаления заданий рабочей нагрузки, создания и удаления задач, а также мониторинга выполнения задач.

Следующая библиотека, которую мы будем использовать в решении, — это клиентская библиотека службы хранилища Azure, Microsoft.Azure.Storage.Blob, которая позволяет подключаться к файлам и управлять ими в учетной записи хранения Azure. Эта библиотека будет использоваться для управления файлами в контейнере хранилища Blob. Приложение сканирует папку на наличие всех загруженных видео и предоставляет задаче доступ для сохранения конвертированных видео задачи.

Библиотека управления пакетной службой Azure, Microsoft.Azure.Management.Batch, является третьей библиотекой, которую не требуется для приложения, так как вы вручную создали учетные записи пакетной службы и хранения.

Мы добавим пакеты NuGet, необходимые в следующем уроке, с помощью команды dotnet add package.

Типичный шаблон использования

Используя предыдущие библиотеки, типичный подход к настройке пакетного процесса:

  1. Создание учетной записи пакетной службы (API управления пакетной службой).
  2. Создайте учетную запись хранения (API хранилища).
  3. Создайте клиент Blob для управления обработкой файлов (API хранилища).
  4. Отправка файлов в процесс (API хранилища).
  5. Создайте пул вычислительных узлов (Batch API).
  6. Создайте задание для выполнения на этих узлах (API пакетной службы).
  7. Добавьте задачу в задание на выполнение с использованием пакетного API ().
  8. Отслеживайте ход выполнения задачи (API пакетной службы).
  9. Скачивание обработанных файлов после завершения (API хранилища).
  10. Удалите контейнер хранилища входных данных, удалите пул и удалите задание (API пакетной службы и API хранилища).

Пулы для пакетной обработки в Azure

Мощная функция пакетной службы Azure — это управление вычислительными ресурсами. Определяя пулы ресурсов, сервис пакетной обработки Azure предоставляет гибкость в настройке определенного количества узлов. Это хороший вариант, если размер обработки хорошо определен, и есть требование иметь известные фиксированные затраты. Другой вариант — разрешить пулу автоматически увеличивать или уменьшать масштаб на основе определенной формулы. Этот подход может учитывать колебания спроса и позволит приложению масштабироваться в соответствии с этим спросом. Этот подход также обладает дополнительным преимуществом поддержания затрат как можно ниже.

При создании пулов пакетной службы Azure укажите следующие атрибуты:

  • Целевое число узлов (ограничение по умолчанию — 100)
  • Операционная система узла и версия (доступны различные образы Windows и Linux)
  • Тип узла, выделенного или низкоприоритетного (выделенные узлы являются более дорогими, но не будут упрещены; узлы с низким приоритетом дешевле, так как они используют излишную емкость в регионе, но могут приостановить свои задачи, если ресурсы требуются в другом месте).
  • Производительность узла в качестве размера ЦП, памяти и хранилища
  • Политика автоматического масштабирования (масштабирование управляется указанной формулой; например, на основе процента использования ЦП)
  • Политика планирования задач (управление максимальным количеством задач, которые узел может выполняться параллельно, и выберите способ распределения задач между узлами).
  • Задачи запуска, выполняемые при загрузке узлов (используется для настройки узла для выполнения задач, таких как установка необходимых приложений)
  • Конфигурация сети (параметры подсети и виртуальной сети)
  • Пакеты приложений (позволяют приложениям легко развертываться на каждом узле в пуле)