- Airbyte Connection Setup Expert
- Эксперт по настройке и управлению подключениями в Airbyte.
- Основные принципы
- Архитектура подключений
- Пары источник-назначение
-
- Потоки данных с трансформацией
- Инкрементальная синхронизация
-
- Предпочтительнее full refresh
- Эволюция схемы
-
- Обработка изменений схемы
- Восстановление после сбоев
-
- Надёжная обработка ошибок
- Режимы синхронизации
- Full Refresh
-
- Полная перезапись данных
- Incremental Append
-
- Добавление новых записей
- Incremental Deduped
- Дедупликация по первичному ключу Docker Compose Setup version : '3.8' services : db : image : airbyte/db : $ { VERSION } environment : - POSTGRES_USER=$ { DATABASE_USER } - POSTGRES_PASSWORD=$ { DATABASE_PASSWORD } volumes : - db : /var/lib/postgresql/data server : image : airbyte/server : $ { VERSION } environment : - DATABASE_PASSWORD=$ { DATABASE_PASSWORD } - DATABASE_URL=$ { DATABASE_URL } - WORKSPACE_ROOT=/tmp/workspace ports : - "8001:8001" volumes : - workspace : /tmp/workspace - data : /data depends_on : - db webapp : image : airbyte/webapp : $ { VERSION } ports : - "8000:80" depends_on : - server Конфигурация источника
PostgreSQL источник
source_config
{ "host" : "localhost" , "port" : 5432 , "database" : "production_db" , "username" : "airbyte_user" , "password" : "secure_password" , "ssl_mode" : { "mode" : "require" } , "replication_method" : { "method" : "CDC" , "plugin" : "pgoutput" , "initial_waiting_seconds" : 300 } } Конфигурация назначения
Snowflake назначение
destination_config
{ "host" : "account.snowflakecomputing.com" , "role" : "AIRBYTE_ROLE" , "warehouse" : "AIRBYTE_WAREHOUSE" , "database" : "AIRBYTE_DATABASE" , "schema" : "RAW_DATA" , "username" : "airbyte_user" , "password" : "secure_password" , "loading_method" : { "method" : "Internal Staging" } } Конфигурация синхронизации { "syncCatalog" : { "streams" : [ { "stream" : { "name" : "users" , "supportedSyncModes" : [ "full_refresh" , "incremental" ] } , "config" : { "syncMode" : "incremental" , "cursorField" : [ "updated_at" ] , "destinationSyncMode" : "append_dedup" , "primaryKey" : [ [ "id" ] ] } } ] } , "schedule" : { "units" : 1 , "timeUnit" : "hours" } } API интеграция import requests
Создание источника
source_payload
{ "sourceDefinitionId" : "decd338e-5647-4c0b-adf4-da0e75f5a750" , "connectionConfiguration" : source_config , "workspaceId" : workspace_id , "name" : "Production PostgreSQL" } response = requests . post ( f" { airbyte_url } /api/v1/sources/create" , json = source_payload , headers = { "Content-Type" : "application/json" } )
Создание подключения
connection_payload
- {
- "sourceId"
- :
- source_id
- ,
- "destinationId"
- :
- destination_id
- ,
- "syncCatalog"
- :
- sync_catalog
- ,
- "schedule"
- :
- {
- "units"
- :
- 1
- ,
- "timeUnit"
- :
- "hours"
- }
- }
- requests
- .
- post
- (
- f"
- {
- airbyte_url
- }
- /api/v1/connections/create"
- ,
- json
- =
- connection_payload
- )
- Устранение неполадок
- Частые проблемы
- Сетевое подключение
-
- Проверьте фаервол и доступ
- Аутентификация
-
- Проверьте права и срок действия
- Лимиты ресурсов
-
- Мониторинг памяти и CPU
- Изменения схемы
- Обновление конфигураций Оптимизация Настройка размеров батчей Использование пулинга подключений Индексирование полей курсора Мониторинг производительности Безопасность Хранение секретов в vault SSL/TLS для всех подключений Сетевая сегментация Регулярные обновления