Вы можете записаться в список ожидания закрытой предварительной версии здесь.
Предварительные требования
- Активный сервис ClickHouse Cloud
- Проект GCP с топиком Pub/Sub, из которого вы хотите выполнять приём данных
- Разрешения IAM в этом проекте на создание сервисных аккаунтов и назначение ролей
Модель аутентификации
- получать список топиков в вашем проекте и читать их,
- создавать и удалять управляемую подписку, которую ClickPipes использует для получения сообщений,
- получать сообщения из этой подписки,
- (необязательно) читать нативные схемы Pub/Sub из реестра схем.
Необходимые разрешения
Доступ к топику (обнаружение и проверка)
Жизненный цикл подписки (обнаружение и ингестия)
Доступ к схемам (необязательно — только для нативных топиков Avro/Protobuf)
Предопределённые роли
Настройка
Создайте пользовательскую роль (рекомендуется)
gcloud:
Необязательные разрешенияДобавьте
pubsub.schemas.get в список --permissions, если выполняете приём из топиков, использующих нативные схемы Avro или Protobuf Pub/Sub. В противном случае не добавляйте его, чтобы роль оставалась минимально необходимой.roles/pubsub.editor.
Создайте сервисный аккаунт
Назначьте роль сервисному аккаунту
roles/pubsub.editor) сервисному аккаунту на уровне проекта:
Создайте и скачайте ключ сервисного аккаунта
clickpipes-pubsub-key.json в интерфейсе ClickPipes при создании пайпа.
Обращайтесь с этим ключом как с секретомКлючи сервисного аккаунта предоставляют доступ к вашему проекту GCP. Храните файл в безопасном месте, не добавляйте его в систему контроля версий и регулярно заменяйте. После загрузки ClickPipes шифрует ключ при хранении.
Примечания
pubsub.topics.attachSubscriptionтребуется для ресурса топика, а не подписки. Это часто упускают из виду, когда выдают только разрешения на уровне подписки.- Если ваш топик не использует нативную схему Pub/Sub (Avro или Protobuf), разрешение
pubsub.schemas.getне требуется. - Управляемые подписки именуются
clickpipes-{pipeID}и имеют срок подтверждения 60 с, хранение сообщений в течение 7 дней и включенное упорядочивание сообщений. - Эфемерные подписки для обнаружения именуются
clickpipes-discovery-{uuid}и имеют срок подтверждения 10 с, хранение в течение 10 минут и TTL с автоматическим истечением через 24 часа. - ClickPipes считает ошибки
PermissionDeniedиUnauthenticatedне подлежащими повторным попыткам — если разрешение отсутствует, пайп сразу завершается с ошибкой вместо бесконечных повторных попыток.