Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Serverless Containers
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
    • Контейнер
    • Вызов контейнера
    • Среда выполнения
    • Сетевое взаимодействие
    • Монтирование внешних ресурсов на файловую систему контейнера
    • Долгоживущие контейнеры
    • Уведомления о завершении выполнения контейнера
      • Обзор
      • Таймер
      • Триггер для Message Queue
      • Триггер для Object Storage
      • Триггер для Container Registry
      • Триггер для Yandex Cloud Logging
      • Триггер для Yandex IoT Core
      • Триггер для бюджетов
      • Триггер для Data Streams
      • Триггер для почты
    • Dead Letter Queue
    • Логи контейнера
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы

В этой статье:

  • События для настройки триггера
  • Фильтрация событий
  • Батчинг
  • Роли, необходимые для корректной работы триггера для Container Registry
  • Формат сообщения от триггера Container Registry
  • См. также
  1. Концепции
  2. Триггер
  3. Триггер для Container Registry

Триггер для Container Registry, который вызывает контейнер Serverless Containers

Статья создана
Yandex Cloud
Обновлена 30 июля 2024 г.
  • События для настройки триггера
    • Фильтрация событий
  • Батчинг
  • Роли, необходимые для корректной работы триггера для Container Registry
  • Формат сообщения от триггера Container Registry
  • См. также

Триггер для Container Registry запускает контейнер Serverless Containers, когда с Docker-образом Container Registry происходят определенные события. Триггер должен находиться в одном облаке с реестром, на события которого он подписан.

Триггеру для Container Registry необходим сервисный аккаунт для вызова контейнера.

О том, как создать триггер для Container Registry, читайте в инструкции Создать триггер для Container Registry, который вызывает контейнер Serverless Containers.

События для настройки триггераСобытия для настройки триггера

События с Docker-образами, которые можно отслеживать с помощью триггера:

  • Создание Docker-образа.
  • Удаление Docker-образа.
  • Создание тега Docker-образа.
  • Удаление тега Docker-образа.

Docker-образ всегда загружается с тегом (если тег не указан, Docker автоматически подставит тег latest), поэтому событие CreateImage всегда идет в паре с CreateImageTag. Docker-образу можно добавить произвольное количество тегов, загрузив тот же образ с другими тегами. В этом случае произойдет только событие CreateImageTag, без CreateImage.

Тег может переходить от одного Docker-образа к другому. Это происходит при загрузке нового Docker-образа с тегом, который уже используется в другом Docker-образе. В таком случае произойдет событие CreateImage для нового Docker-образа, а изменение тега спровоцирует два события: DeleteImageTag (удаление тега у старого Docker-образа) и CreateImageTag (присвоение тега новому Docker-образу).

При удалении Docker-образа удаляются все его теги. Поэтому удаление Docker-образа всегда вызывает событие DeleteImage, а также столько событий DeleteImageTag, сколько тегов было у Docker-образа в момент удаления.

Фильтрация событийФильтрация событий

События фильтруются с помощью тегов и имен загружаемых Docker-образов. Если одновременно используются имя и тег, фильтрация происходит по принципу логического И: чтобы триггер сработал, образ должен подходить и по имени, и по тегу.

БатчингБатчинг

Настройки батчинга позволяют передавать в контейнер сразу несколько событий. Эти настройки задают ограничение сверху по размеру группы событий и по времени ее накопления. Например, если размер группы событий равен 3, то в контейнер могут поступать группы, в которых содержится от 1 до 3 событий.

Роли, необходимые для корректной работы триггера для Container RegistryРоли, необходимые для корректной работы триггера для Container Registry

  • Для создания триггера вам необходимы:
    • Разрешение на сервисный аккаунт, от имени которого триггер выполняет операцию. Это разрешение входит в роли iam.serviceAccounts.user, editor и выше.
    • Роль container-registry.images.puller на реестр, события которого триггер обрабатывает.
  • Для работы триггера сервисному аккаунту необходима роль serverless.containers.invoker на каталог с контейнером, который вызывает триггер.

Подробнее об управлении доступом.

Формат сообщения от триггера Container RegistryФормат сообщения от триггера Container Registry

После того как триггер сработает, он отправит в контейнер сообщение следующего вида:

{
  "messages": [
  {
    "event_metadata": {
      "cloud_id": "b1gvlrnlw2e6********",
      "created_at": "2020-09-07T11:09:14Z",
      "event_id": "crtpk611vb7g********",
      "event_type": "yandex.cloud.events.containerregistry.CreateImage",
      "folder_id": "b1g88tfl0pl8********",
      "tracing_context": {
        "parent_span_id": "-14915794679********",
        "span_id": "-72326631357********",
        "trace_id": "70e7m4n2********"
      }
    },
    "details": {
      "image_digest": "sha256:45f8f740272f1f2a053eade37d8d45f8f740272f1f2a053eade37d8d********",
      "image_id": "crti2c9bpk61********",
      "registry_id": "crt2504svlrn********",
      "repository_name": "crt2504s1gvl********/ubuntu",
      "tag": "latest"
    }
  }]
}

См. такжеСм. также

  • Триггер для Container Registry, который вызывает функцию Cloud Functions
  • Триггер для Container Registry, который отправляет сообщения в WebSocket-соединения

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

Предыдущая
Триггер для Object Storage
Следующая
Триггер для Yandex Cloud Logging
Проект Яндекса
© 2025 ООО «Яндекс.Облако»