使用通用 SFTP 服务器

借助通用 Feed SFTP 服务器,您可以为每个环境将多种 Feed 类型上传到 单个 SFTP 服务器。本指南将介绍如何使用 通用 SFTP 服务器,并提供指向相应 Feed 的相应指南的链接,以便您计划使用。

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

通用 SFTP 服务器依赖于两个单独的上传:

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

描述符字段的结构

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

  • 您必须对描述符文件使用 .filesetdesc.json 文件扩展名。
  • 每个描述符文件名都必须是唯一的,并且不能在上传之间重复使用。我们建议您在文件名中添加生成时间戳和 Feed 名称。
    • 示例:offers_1524606581.filesetdesc.json
  • 每个描述符文件都必须列出相关 Feed 名称的最新 Feed 中的所有数据文件。
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": "google.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

Feed 内容的结构

上传描述符文件后,您将上传与描述符文件命名的 Feed 配置文件对应的 Feed 数据类型的所有 Feed 文件 。文件名和路径位置(在 SFTP 服务器中相对)必须与 data_file 字段中包含的内容完全一致。如果有任何文件缺失、命名不正确或 上传到其他位置,则整个 Feed 将不会被 处理。

这些 Feed 数据文件的内容必须符合 描述符文件中指定的 Feed 的相关规范。

每个 Feed 文件名都必须是唯一的,并且不能在上传之间重复使用。我们建议您在文件名中添加生成时间戳和分片编号(增量 ID)。

  • 示例:offers_1524606581_1.json

Feed 文件大小和上传频率

  • 将 Feed 文件大小保持在 200 MB 以下(压缩后)。
  • 每个解压缩的数据文件大小应小于 2 GB。
  • 大多数集成只需要使用单个分片。您应尽可能少使用分片。每个 Feed 最多可包含 1000 个分片。
  • 在一个分片中发送的各个记录无需在未来 Feed 中以相同的 分片编号发送。
  • 为实现更好的性能,您应将数据平均分到各个分片,使所有 分片文件的大小相近。
  • 如有必要,请使用 gzip 压缩 Feed。不过,请针对每个 单独的 Feed 分片执行此操作。

问题排查和调试

上传文件(描述符文件和 Feed 文件)后,请前往 提取查看器文档) ,以跟踪 Feed 提取的进度(依次前往提取 > 历史记录)。

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

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