使用通用 Feed Dropbox

通用 Feed Dropbox 支持在每种环境中将多个 Feed 类型上传到单个 Dropbox。本指南将介绍如何使用通用 Dropbox,并针对打算使用的相应 Feed 提供了指向相应指南的链接。

(请参阅文档的 Feed 导出(端到端)Feed(入门)部分。

通用 Dropbox 需要上传两个单独的文件:

  1. 描述符文件:描述您要上传的 Feed 类型
  2. Feed 文件:实际 Feed 的内容

构建描述符字段

系统会上传描述符文件,以通知我们的系统您要上传的 Feed 类型。这样,我们才能正确验证和处理 Feed。描述符文件应在 Feed 内容之前上传,并且必须遵循以下命名要求:

  • 使用 .filesetdesc.json 文件扩展名
  • 每个描述符的文件名必须是唯一的,并且不能在上传过程中重复使用。我们建议在文件名中添加生成时间戳。
    • 示例:offer_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)。

  • 示例:offer_1524606581_1.json

Feed 文件大小和上传频率

  • Feed 文件大小保持在 200 MB 以下(压缩后)。
  • 大多数集成只需要使用一个分片。您应使用尽可能少的分片。每个 Feed 最多可以有 1000 个分片。
  • 在一个分片中发送的各个记录无需在未来 Feed 中以同一分片编号发送。
  • 为了提升性能,请在分片之间平均拆分数据,使所有分片文件的大小相近。
  • 如有必要,请使用 gzip 压缩 Feed。但是,请为每个 Feed 分片执行此操作。

问题排查和调试

上传文件(描述符和 Feed 文件)后,请前往合作伙伴门户的 Feed 历史记录信息中心文档)(依次转到历史记录 > Feed),了解 Feed 提取的进度。

在描述符文件中的“Feed 名称”列查找您输入的 name,即可找到您的 Feed。

提取 Feed 后(状态为 SuccessFail),您可以点击该行所在的行,以查看错误和警告的详细信息。