На SFTP-сервер общего фида можно загружать фиды разных типов (по одному на среду). В этом руководстве рассказывается, как использовать общий SFTP-сервер, и приводятся ссылки на руководства по работе с фидами.
(Дополнительную информацию можно найти в разделе Экспорт фидов (сквозная интеграция) или Фиды (начальный уровень) документации).Для работы с общим SFTP-сервером необходимо выполнить две отдельные загрузки:
- Файл дескриптора описывает тип фида, который вы будете загружать.
- Файлы фида – контент фида.
Структурирование поля дескриптора
Файл дескриптора загружается, чтобы сообщить нашей системе, какой тип фида вы загружаете. Это позволяет нам правильно проверять и обрабатывать фид. Файл дескриптора должен быть загружен до содержимого фида и соответствовать следующим требованиям к названию:
- Для файла дескриптора необходимо использовать расширение
.filesetdesc.json. - Название каждого файла дескриптора должно быть уникальным и не может использоваться повторно в разных загрузках. Рекомендуем включить в название файла временную метку создания и название фида.
- Пример: offers_1524606581.filesetdesc.json.
- В каждом файле описания должны быть перечислены все файлы данных из последнего фида с соответствующим названием.
message FilesetDescriptor { option features.(pb.java).nest_in_file_class = YES; // 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 [features.(pb.cpp).string_type = STRING]; // Paths (relative to the dropbox root) specifying data files included in this // feed. (required) repeated string data_file = 3 [features.(pb.cpp).string_type = STRING]; }
Возможные значения поля 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 для сжатия фидов. но для каждого фрагмента фида по отдельности.
Устранение неполадок и отладка
Загрузив файлы дескриптора и фида, перейдите в Ingestion Viewer (документация) на партнерском портале (Передача данных > История), чтобы отслеживать ход передачи данных.
Найдите фид по значению name, которое вы указали в файле описания в столбце "Название фида".
После того как фид будет загружен (статус Success или Fail), вы можете нажать на строку с ним, чтобы посмотреть подробные сведения об ошибках и предупреждениях.