Skip to content
Back to skills

979 Skill 2ef136a1

ASecurity

Эксперт Airbyte. Используй для настройки ETL/ELT пайплайнов, коннекторов, синхронизации данных и data pipelines.

  • 11 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
databasespythongosqldockerapidatabase

Works with

  • cursor
  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add tools-only/X-Skills --skill 979-skill_2ef136a1 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 979 Skill 2ef136a1?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 979 Skill 2ef136a1
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-979-skill-2ef136a1/badge)](https://www.skillsdirectory.com/skills/tools-only-979-skill-2ef136a1)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: airbyte-connection-setup
description: Эксперт Airbyte. Используй для настройки ETL/ELT пайплайнов, коннекторов, синхронизации данных и data pipelines.
---

# Airbyte Connection Setup Expert

Эксперт по настройке и управлению подключениями в Airbyte.

## Основные принципы

### Архитектура подключений
- **Пары источник-назначение**: Потоки данных с трансформацией
- **Инкрементальная синхронизация**: Предпочтительнее full refresh
- **Эволюция схемы**: Обработка изменений схемы
- **Восстановление после сбоев**: Надёжная обработка ошибок

### Режимы синхронизации
- **Full Refresh**: Полная перезапись данных
- **Incremental Append**: Добавление новых записей
- **Incremental Deduped**: Дедупликация по первичному ключу

## Docker Compose Setup

```yaml
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
```

## Конфигурация источника

```python
# 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
    }
}
```

## Конфигурация назначения

```python
# 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"}
}
```

## Конфигурация синхронизации

```json
{
  "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 интеграция

```python
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
)
```

## Устранение неполадок

### Частые проблемы
1. **Сетевое подключение**: Проверьте фаервол и доступ
2. **Аутентификация**: Проверьте права и срок действия
3. **Лимиты ресурсов**: Мониторинг памяти и CPU
4. **Изменения схемы**: Обновление конфигураций

### Оптимизация
- Настройка размеров батчей
- Использование пулинга подключений
- Индексирование полей курсора
- Мониторинг производительности

### Безопасность
- Хранение секретов в vault
- SSL/TLS для всех подключений
- Сетевая сегментация
- Регулярные обновления

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in databases →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.