Make 的数组聚合器用于把上游产生的多个数据包收集起来,输出一个包含数组的数据包。它适合下游模块需要“一组项目”而不是“每次处理一个项目”的情况。典型示例是从 Google Drive 取得多个文件,再把它们作为附件放进同一封 Gmail 邮件。
如果直接把逐个文件的数据包连接到发送邮件模块,下游通常会针对每个数据包分别执行。加入数组聚合器后,可以先把本次运行中的文件整理成附件数组,再交给邮件模块处理。
场景结构
这个示例由三个部分组成:
模块的具体名称可能随连接器版本变化,但设计关系不变:来源模块产生多条记录,聚合器确定收集范围和数组结构,下游模块消费聚合结果。
配置来源模块
先连接 Google Drive,并选择要读取的文件夹或查询条件。调试时把单次取得的文件数设为较小值,例如 5 个,并确保测试文件不包含敏感信息。
运行一次来源模块,检查每个数据包中是否同时包含文件名、文件内容或可下载数据,以及必要的类型信息。只有下游发送附件所需的字段都存在,才继续配置聚合器。若来源只返回文件元数据,应先增加下载文件内容的步骤。
配置数组聚合器
添加数组聚合器后,重点检查三个设置。
来源模块
将产生文件数据包的模块设为来源模块。聚合器只会收集该来源到自身之间的运行结果;如果中间有筛选器,被过滤掉的数据不会进入数组。
目标结构
目标结构决定数组中每个项目的字段形状。为了让 Make 显示与 Gmail 附件相匹配的结构,通常应先把 Gmail 发送邮件模块接在聚合器之后,再回到聚合器选择附件对应的目标结构。
如果界面中只有自定义结构,先确认下游模块已经添加且附件字段支持映射。无法直接选择目标结构时,也可以使用自定义结构,但必须按当前 Gmail 模块要求分别映射文件名、文件数据和内容类型等字段。
字段映射与分组
把 Google Drive 输出中的文件名和文件内容映射到每个附件项目。不要只映射文件地址,除非当前 Gmail 模块明确支持从该地址取得附件。
默认情况下,同一次来源执行中的项目会进入同一数组。如果业务上需要按客户、项目或收件人分别发送,应使用稳定的分组键。分组键为空或不一致,可能造成文件被合并到错误邮件中。
连接 Gmail 模块
在发送邮件模块中配置收件人、主题和正文,然后把聚合器输出的数组映射到附件字段。收件人应来自可信配置或经过校验的数据,不要把未经验证的表格值直接用于外发邮件。
如果一次运行没有找到文件,应明确选择处理方式:跳过发送、发送无附件通知,或进入人工检查分支。不要让空数组意外触发一封内容不完整的邮件。
运行一次并核对结果
准备少量不同名称和类型的测试文件,点击“运行一次”,然后依次检查:
还要测试一个文件、没有文件和某个文件下载失败的情况。若邮件发送失败,重试前应记录批次标识,避免同一组附件被重复发送。
常见问题
数组聚合器的核心价值不是“把所有数据都装进一个数组”,而是按照下游契约形成边界清楚的一批数据。先确认来源范围,再选择目标结构,最后用小批次验证,能让这一模式更容易维护和恢复。