关于 airbyte-connection-setup
airbyte-connection-setup 是用于配置和管理 Airbyte 数据连接的技能,涵盖源与目标设置、同步模式、通过 API 创建连接以及故障排查。
主要功能
- 01配置源和目标连接
- 02选择全量刷新或增量同步模式
- 03通过 API 创建源
- 04排查网络、认证和架构问题
- 05应用连接安全与性能实践
适用场景
- 01设置源与目标之间的数据流
- 02为连接选择同步方式
- 03排查连接失败或数据变化问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dengineproblem/ agents-monorepo --skill airbyte-connection-setup安装后在 Claude Code 中输入/airbyte-connection-setup确认已加载。
详细介绍
Airbyte 连接设置专家
Airbyte 连接的设置与管理专家。
基本原则
连接架构
- 源-目标对:带有转换的数据流
- 增量同步:优先于全量刷新
- 架构演进:处理架构变更
- 故障恢复:可靠地处理错误
同步模式
- Full Refresh:完整覆盖数据
- Incremental Append:添加新记录
- Incremental Deduped:按主键去重
Docker Compose 设置
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
- 网络分段
- 定期更新
评论
支持 Markdown