Универсальный SFTP

Универсальный SFTP-сервер для фидов позволяет загружать несколько типов фидов на один SFTP-сервер в рамках одной среды. В этом руководстве описано, как использовать универсальный SFTP-сервер, и приведены ссылки на соответствующие руководства для того типа фида, который вы планируете использовать.

(Пожалуйста, обратитесь к разделу «Экспорт данных (сквозной)» или «Данные (начальный вариант) » в документации).

Стандартный SFTP-сервер предполагает наличие двух отдельных загрузок:

  1. Файл описания: описывает тип загружаемого фида.
  2. Файл(ы) фида: содержимое фактического фида

Структурирование поля дескриптора

Файл описания загружается для того, чтобы сообщить нашей системе, какой тип фида вы загружаете. Это позволяет нам правильно проверить и обработать фид. Файл описания следует загружать до содержимого фида, и он должен соответствовать следующим требованиям к именованию:

  • Для файла-дескриптора необходимо использовать расширение .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 включают:

  • reservewithgoogle.entity
  • google.offer

Пример JSON-файла описания для ленты предложений с двумя сегментами представлен ниже:

{
  "generation_timestamp": 1524606581,
  "name": "google.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

Структурирование содержимого корма

После загрузки файла-дескриптора вам необходимо загрузить все файлы фида для типа данных фида, соответствующего файлу конфигурации фида, указанному в вашем файле-дескрипторе. Имена файлов и пути к ним (относительно внутри SFTP-сервера) должны точно совпадать с тем, что указано в поле data_file . Если какой-либо файл отсутствует, имеет неправильное имя или загружен в другое место, то весь фид не будет обработан.

Содержимое этих файлов с данными о корме должно соответствовать соответствующим спецификациям корма, указанным в файле описания.

Имя каждого файла фида должно быть уникальным и не может быть использовано повторно при загрузке. Мы рекомендуем включать в имя файла метку времени генерации и номер сегмента (инкрементальный идентификатор).

  • Пример: offers_1524606581_1.json

Размеры файлов ленты и частота загрузки.

  • Размер файла фида не должен превышать 200 МБ (после сжатия).
  • Размер каждого распакованного файла данных должен быть менее 2 ГБ.
  • В большинстве случаев для интеграции потребуется использовать только один шард. Следует использовать как можно меньше шардов. Максимальное количество шардов на один канал — 1000.
  • Отдельные записи, отправленные в рамках одного сегмента, не обязательно должны отправляться в рамках того же сегмента в последующих потоках данных.
  • Для повышения производительности равномерно распределите данные между сегментами, чтобы все файлы сегментов имели одинаковый размер.
  • При необходимости используйте gzip для сжатия данных в лентах. Однако делайте это для каждого отдельного фрагмента ленты.

Поиск и устранение неисправностей

После загрузки файлов (дескрипторов и файлов фида) перейдите в средство просмотра загрузки ( документация ) на партнерском портале (перейдите в раздел «Загрузка > История» ), чтобы отслеживать ход загрузки вашего фида.

Чтобы найти свой фид, найдите в столбце «Название фида» name , которое вы ввели в файл описания.

После того, как данные будут загружены (статус Success или Fail ), вы можете щелкнуть по соответствующей строке, чтобы просмотреть подробную информацию об ошибках и предупреждениях.