Webhooks

В ЗАКРОМА.Хранение встроен механизм оповещения других систем о любом из событий из предопределенного набора. Этот механизм асинхронный.

Внимание

Для корректной работы механизма уведомлений необходимо предварительно настроить систему Kafka.

Доступные события

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

  • CreateBucket
  • CreateObject
  • CreateWorkspace
  • DeleteBucket
  • DeleteBucketTags
  • DeleteObject
  • DeleteObjectTags
  • DeleteWorkspace
  • MoveBucketToTrashBin
  • RestoreBucketFromTrashBin
  • SetBucketQuote
  • SetBucketTags
  • SetBucketVersioning
  • SetObjectTags
  • UpdateWorkspace
Kafka

При необходимости взаимодействие может осуществляться через события в Kafka.

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

  • CreateObject
  • DeleteObject
  • DeleteObjectTags
  • SetObjectTags

Добавление webhooks

  1. Откройте вкладку «Webhooks».
  2. Нажмите кнопку Создать webhook.
  3. Заполните поля:
  • Название события, для которого он хочет получать извещение
  • Метод POST/PUT/GET
  • Протокол: http/https (по умолчанию https)
  • URL webhook приёмника
  • Тип аутентификации: BASIC/API_KEY/BEARER_TOKEN
  • Идентификатор ключа (только для BASIC)
  • Ключ

image

При настройке через REST API доступны следующие http-методов:

  • AddWebhooks
  • UpdateWebhook
  • DeleteWebhooks
  • ReinitWebhooks
  • ListWebhooks – список настроенных веб-хуков
  • ListEvents – список событий, для которых возможно настроить веб-хук. На каждое событие можно настроить несколько веб-хуков.
Обновление конфигурации

Конфигурация веб-хуков вычитывается при старте сервиса.
После вызова API-методов AddWebhooks, UpdateWebhook, DeleteWebhooks необходимо выполнить метод ReinitWebhooks, чтобы новая конфигурация вступила в силу.

Методы POST и PUT передают параметры события в json, а метод GET передаёт параметры события как URL encoded query.