Amazon AppFlow - Runbook 与参考¶
English · GitHub source 事实核对时间(对照 AWS 官方文档):2026-08-19
概述¶
Amazon AppFlow 是全托管集成服务,用于在 SaaS 应用(例如 Salesforce、Slack、Zendesk、Marketo)与 AWS 服务(S3、Redshift、Snowflake)之间安全交换数据。你可以按需、按计划或响应事件创建 flow 移动数据,无需编写代码。
核心概念¶
- Flow:将数据从源移动到目标的配置,包括字段映射、过滤器和触发器。
- 连接器(Connectors):SaaS 源/目标和 AWS 服务的内置连接器;用 Custom Connector SDK 为私有 API 和其他系统构建自定义连接器。
- 触发类型:按需(手动)、定时(cron)或事件驱动(SaaS 平台事件/变更数据捕获)。
- 数据转换:映射字段、过滤记录,并为下游分析做聚合/分区。
- PrivateLink:通过 AWS 网络私密传输数据,而不是公共互联网。
- 数据目录:将传输到 S3 的数据在 AWS Glue Data Catalog 中编目,便于分析和机器学习服务发现。
- 监控:CloudTrail 记录 API 调用;可在控制台/API 监控 flow 运行。
常用操作(AWS CLI)¶
# 创建连接器配置和 flow
aws appflow create-connector-profile --connector-profile-name salesforce \
--connector-type Salesforce --connection-mode Public \
--connector-profile-config file://profile.json
aws appflow create-flow --flow-name salesforce-to-s3 \
--source-flow-config file://source.json \
--destination-flow-config file://destination.json \
--trigger-config '{"triggerType":"OnDemand"}'
# 运行和监控 flow
aws appflow start-flow --flow-name salesforce-to-s3
aws appflow describe-flow-execution-records --flow-name salesforce-to-s3
aws appflow list-flows
aws appflow delete-flow --flow-name salesforce-to-s3
最佳实践¶
- 连接器配置放在专用账户/区域,OAuth 凭证用 Secrets Manager 安全轮换。
- 周期性同步用定时 flow,近实时需求用事件触发 flow;避免运行重叠。
- 只映射所需字段,用过滤器减少传输量和成本。
- 敏感数据启用 PrivateLink;核对源/目标访问的 IAM 角色。
- 输出做分区和聚合,保持下游查询高效;在 Glue Data Catalog 编目数据。
- 监控 flow 执行记录,为失败运行设置告警。
故障排查¶
| 症状 | 检查与处理 |
|---|---|
| SaaS 连接失败 | 检查 OAuth token/刷新、连接器配置和网络(VPC/PrivateLink)。 |
| Flow 运行失败 | 查看执行记录/错误信息,以及源/目标权限。 |
| 记录缺失 | 核对过滤器、字段映射以及源的游标/变更数据捕获配置。 |
| 传输慢或被限流 | 减少字段数、使用增量传输,检查源的 API 速率限制。 |
| 数据未编目 | 确认 Glue Data Catalog 集成和输出格式设置。 |
配额¶
每账户 flow 和连接器配置数、传输大小和 API 请求速率有限制。以 Amazon AppFlow 端点和配额页面及 Service Quotas 控制台为准。