Использование универсального 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 включают:

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

    {
      "generation_timestamp": 1524606581,
      "name": "promote.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 ), вы можете щелкнуть по соответствующей строке, чтобы просмотреть подробную информацию об ошибках и предупреждениях.