借助通用 Feed Dropbox,你可以针对每个环境将多种 Feed 类型上传到一个 Dropbox。本指南将介绍如何使用通用 Dropbox,并针对您计划使用的各个 Feed 提供指向相应指南的链接。
(请参阅文档的导出 Feed(端到端)或 Feed(入门版)部分。通用保管箱的上传依赖于两个单独的上传:
- 描述符文件:描述您要上传的 Feed 类型
- Feed 文件:实际 Feed 的内容
设计描述符字段的结构
上传描述符文件,以告知我们的系统您正在上传的 Feed 类型。这样,我们就能正确验证和处理 Feed。描述符文件应在 Feed 内容之前上传,并且必须遵循以下命名要求:
- 使用 .filesetdesc.json 文件扩展名
- 每个描述符文件名都必须是唯一的,并且不能在上传过程中重复使用。我们建议在文件名中包含生成时间戳。
- 示例:offers_1524606581.filesetdesc.json
message FilesetDescriptor { // The timestamp at which this feed was generated, in Unix time format // (seconds since the epoch). (required) int64 generation_timestamp = 1; // Identifies the name of this feed. (required) string name = 2; // Paths (relative to the dropbox root) specifying data files included in this // feed. (required) repeated string data_file = 3; }
name
字段的可能值包括:
下面是一个包含两个分片的优惠 Feed 的 JSON 描述符文件示例:
{ "generation_timestamp": 1524606581, "name": "promote.offer", "data_file": [ "offers_1524606581_1.json", "offers_1524606581_2.json" ] }
构建 Feed 内容
上传描述符文件后,您需要上传与描述符文件命名的 Feed 配置文件相对应的 Feed 数据类型的所有 Feed 文件。文件名和路径位置(在 Dropbox 中的相对位置)必须与 data_file
字段中包含的内容完全匹配。如果任何文件缺失、命名不当或上传到其他位置,则整个 Feed 都不会得到处理。
这些 Feed 数据文件的内容必须符合描述符文件中指定的 Feed 相关规范。
每个 Feed 文件名都必须是唯一的,且不能在上传过程中重复使用。我们建议在文件名中包含生成时间戳和分片编号(增量 ID)。
- 示例:offers_1524606581_1.json
Feed 文件大小和上传频率
- 确保 Feed 文件大小小于 200 MB(压缩后)。
- 大多数集成只需要使用单个分片。您应该尽可能少地使用分片。每个 Feed 最多 1000 个分片。
- 在一个分片中发送的单个记录在将来的 Feed 中不需要通过同一分片编号发送。
- 为了获得更好的性能,请在分片之间平均拆分数据,以使所有分片文件的大小相近。
- 如有必要,请使用 gzip 压缩 Feed。但是,请针对每个 Feed 分片执行此操作。
问题排查和调试
上传文件(描述符和 Feed 文件)后,请前往合作伙伴门户上的 Feed 历史记录信息中心(文档,依次转到历史记录 > Feed),跟踪 Feed 的提取进度。
在描述符文件的“Feed 名称”列中找到您输入的 name
,以找到您的 Feed。
系统提取 Feed 后(状态为 Success
或 Fail
),您可以点击它所在的行来查看错误和警告的详细信息。