数据集成的自动化 - 借助 Amazon AppFlow 实现的 SaaS 对接平台

讲解使用 Amazon AppFlow 实现 SaaS 应用程序之间的数据集成。介绍以无代码方式将 Salesforce、Slack、Google Analytics 等外部服务与 AWS 服务连接,构建实时或基于计划的数据流的方法。

SaaS 数据集成的课题与 AppFlow 的定位

企业使用的 SaaS 应用程序逐年增加。数据分散在 Salesforce、ServiceNow、Slack、Google Analytics、Zendesk 等众多服务中。要将这些数据整合并汇集到分析平台,需要理解各个 SaaS 的 API 规范,并逐一实现认证处理、分页、速率限制的处理以及错误处理。Amazon AppFlow 是一项在 SaaS 应用程序与 AWS 服务之间安全地交换数据的完全托管集成服务。它标配 50 个以上的 SaaS 连接器,仅通过 GUI 操作即可定义数据流。数据在存储时和传输中都会加密,与 AWS PrivateLink 结合使用时,数据会不经过互联网直接送达。

数据流的构成与触发方式

AppFlow 的数据流由源(数据获取来源)、目标(数据存放位置)、流触发器(执行时机)这 3 个要素构成。触发方式可以从按需、计划、事件驱动这 3 种中选择。计划执行可以进行最短 1 分钟间隔的数据同步,灵活应对从每日批处理到准实时对接的各种需求。使用事件驱动触发器时,可以接收 Salesforce 的 Change Data Capture 事件来运行流。目标可以指定 S3、Redshift、EventBridge、Honeycode 等。既可以用 Athena 直接查询存放在 S3 中的数据,也可以经由 EventBridge 触发 Lambda 函数来自动化后续处理。以下是使用 AWS CLI 创建 AppFlow 流的示例。

aws appflow create-flow \
  --flow-name salesforce-to-s3 \
  --trigger-config triggerType=Scheduled,triggerProperties={scheduleExpression='rate(1hour)'} \
  --source-flow-config connectorType=Salesforce,connectorProfileName=my-sf-profile,sourceConnectorProperties={Salesforce={object=Account}} \
  --destination-flow-config-list connectorType=S3,destinationConnectorProperties={S3={bucketName=my-data-lake,s3OutputFormatConfig={fileType=JSON}}}

数据转换与过滤功能

AppFlow 可以在数据传输时以无代码方式应用字段映射、数据转换和过滤。字段映射以可视化方式将源与目标的架构关联起来,并定义字段名的变更和数据类型的转换。借助屏蔽功能,可以在传输前对个人信息或机密数据进行哈希处理或截断,更容易符合有关数据处理的要求。设置过滤条件后,可以只传输符合特定条件的记录,从而能够抑制不必要数据的传输和存储费用。验证功能在传输前检查数据质量,将不正确的记录排除或记录为错误。这些功能可以在控制台界面中设置,无需编写代码即可使用。AppFlow 无需准备服务器即可运行,因此也适合小规模的数据传输。

借助 EventBridge 对接的扩展架构

将 AppFlow 与 Amazon EventBridge 组合使用,可以构建以 SaaS 数据的变更为触发的事件驱动架构。将 EventBridge 指定为 AppFlow 的目标后,传输的数据会作为事件发布到 EventBridge。可以用 EventBridge 的规则过滤事件,并路由到 Lambda 函数、Step Functions、SQS 队列、SNS 主题等任意目标。例如,可以构建这样的工作流:检测到 Salesforce 中商机关闭的事件后,用 Lambda 自动生成发票并保存到 S3,再通过 SES 向客户发送邮件通知。这种构成可以用无服务器的服务搭建,因此服务器运维的工作量会减少。将 AppFlow 的 SaaS 连接器与 EventBridge 的路由功能组合起来,可以用 AWS 的服务把从 SaaS 数据的变化到事件驱动的处理连接起来。

AppFlow 的费用

流执行每次约 0.001 美元,数据处理每 1 GB 约 0.02 美元(截至 2026 年 8 月)。使用事件驱动触发器、以记录为单位的流频繁执行时,流执行次数会不断累积,因此与批处理(计划触发器)分别使用很重要。经由 PrivateLink 的传输不会产生 AppFlow 的额外费用,但需另行支付接口端点费用。

总结 - SaaS 数据集成平台的选择

Amazon AppFlow 是以无代码方式进行 SaaS 应用程序与 AWS 服务之间数据集成的完全托管服务。借助 50 个以上的标准连接器、灵活的触发方式以及数据转换 / 过滤功能,可以省去搭建 SaaS 对接的工作量。与 EventBridge 对接的事件驱动架构可用于接近实时的业务流程自动化。在费用方面,AppFlow 也是按每次流执行 0.001 美元和每 1 GB 数据处理 0.02 美元的按量计费,费用取决于流的执行次数和处理的数据量。在考虑构建数据集成平台时,以 AppFlow 为核心的无服务器构成会成为选项之一。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享