Ваши каналы данных позволяют сделать ваш ресторан, услуги и меню доступными в сквозном заказе.
В этом документе описывается, как разместить песочницу и производственные запасы, а также использовать пакетный прием для обновления запасов в сквозном заказе.
Среды подачи данных
Для разработки интеграции доступны три среды подачи данных:
Кормовая среда | Описание | Пакетный прием |
---|---|---|
Песочница | Тестовая среда для разработки вашего канала. | Необходимый |
Производство | Производственная среда для вашего инвентаря, которую вы хотите запустить. | Необходимый |
Хостинг каналов данных
Чтобы компания Ordering End-to-End могла обрабатывать каналы данных песочницы и производства путем пакетного приема, вам необходимо разместить файлы каналов данных в Google Cloud Storage, Amazon S3 или HTTPS с картой сайта.
Мы рекомендуем размещать каналы данных для песочницы и производственной среды отдельно. Этот подход позволяет вам выполнять разработку и тестирование в среде песочницы перед развертыванием изменений в рабочей среде.
Например, если вы используете Google Cloud Storage в качестве варианта хостинга, у вас будут следующие пути:
- Фид песочницы:
gs://foorestaurant-google-feed-sandbox/
- Производственный фид:
gs://foorestaurant-google-feed-prod/
Чтобы разместить свой инвентарь, выполните следующие действия:
- Создайте файлы каналов данных.
- Выберите хостинговое решение.
- Размещайте свои каналы данных.
- Убедитесь, что файлы каналов данных регулярно обновляются. Фиды производственных данных должны обновляться ежедневно.
Подробные сведения о том, как создать фид ресурсов, см. в документации по сущностям Restaurant
, Service
и Menu
, а также в разделе Создание фида данных .
Рекомендации по файлам фидов данных
Каждый файл, который может содержать несколько объектов, не должен превышать 200 МБ. Объекты верхнего уровня Restaurant
, Service
и Menu
вместе со своими дочерними объектами не должны превышать 4 МБ вместе.
Выберите хостинговое решение
В следующей таблице перечислены варианты размещения ваших каналов данных и то, как эти хосты работают со сквозным заказом:
Амазонка S3 | Облачное хранилище Google | HTTPS с картой сайта | |
---|---|---|---|
Учетные данные и доступ | Предоставьте Google следующую информацию:
Корзина S3 должна включать следующую информацию:
Пример файла | Предоставьте Google пути к каталогам корзин рабочей среды и песочницы, а также файлу Добавьте сервисный аккаунт, предоставленный вашим консультантом Google, в качестве читателя вашего сегмента Google Cloud Storage. Дополнительную информацию о том, как контролировать доступ к Google Cloud Storage (GCS), см. в разделе Консоль Google Cloud Platform: настройка разрешений сегмента . Сегмент GCS должен включать следующую информацию:
Пример файла | Предоставьте Google следующую информацию:
|
Как Google узнает, какие файлы необходимо загрузить | Список каталогов всех файлов в корзине. | Список каталогов всех файлов в корзине. | Отдельные URL-адреса файлов, перечисленных в карте сайта . |
Как Google узнает, что файлы готовы к загрузке | После завершения создания каналов данных обновите файл marker.txt , указав последнюю временную метку. | После завершения создания каналов данных обновите файл marker.txt , указав последнюю временную метку. | После завершения создания фидов данных обновите заголовок ответа last-modified в файле sitemap.xml , указав последнюю временную метку. |
Ограничения файлов | Максимальное количество файлов: 100 000. В вашей корзине Amazon S3 должно быть менее 100 000 файлов. | Максимальное количество файлов: 100 000. В вашем хранилище Google Cloud Storage должно быть менее 100 000 файлов. | Максимальное количество файлов: 100 000. Количество путей к файлам в XML-файле карты сайта должно быть меньше 100 000. |
Подключите каналы данных для пакетного приема
После того как вы разместите свои каналы, вам необходимо подключить их к своему проекту в Центре действий . Первоначальная настройка производственных каналов выполняется на странице «Задачи адаптации» . В дальнейшем конфигурацию производственных и изолированных каналов может быть обновлена на странице Конфигурация > Каналы в любое время любым пользователем портала с административной ролью. Среда песочницы используется для целей разработки и тестирования, а рабочие каналы отображаются пользователям.
Если вы размещаете свои каналы данных на Amazon S3
- В Центре действий выберите Конфигурация > Ленты .
Нажмите «Изменить» и заполните форму «Обновить ленту» :
- Способ доставки корма: установите Amazon S3 .
- Файл маркера: укажите URL-адрес файла
marker.txt
. - Файлы данных. Укажите URL-адрес корзины S3, содержащей каналы данных.
- Идентификатор доступа: введите идентификатор ключа доступа IAM с разрешениями на чтение из ресурсов S3.
- Ключ доступа: введите секретный ключ доступа IAM с разрешениями на чтение из ресурсов S3.
- Нажмите «Отправить» .
- Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.
Если вы размещаете свои каналы данных в Google Cloud Storage
- В Центре действий выберите Конфигурация > Ленты .
Нажмите «Изменить» и заполните форму «Обновить ленту» :
- Способ доставки фида: выберите Google Cloud Storage .
- Файл маркера: укажите URL-адрес файла
marker.txt
. - Файлы данных. Укажите URL-адрес сегмента GCS, содержащего каналы данных.
- Нажмите «Отправить» .
- Для доступа к вашему сегменту GCS создается сервисный аккаунт. Имя учетной записи можно найти в разделе «Конфигурация» > «Каналы» после завершения задач регистрации. Этой учетной записи службы требуется роль «Читатель устаревших объектов хранилища». Эту роль можно предоставить сервисному аккаунту на странице IAM консоли Google Cloud .
- Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.
Если вы размещаете свои каналы данных по протоколу HTTPS
- В Центре действий выберите Конфигурация > Ленты .
Нажмите «Изменить» и заполните форму «Обновить ленту» :
- Метод доставки фида: установите HTTPS .
- Файл карты сайта: укажите URL-адрес файла
sitemap.xml
. - Имя пользователя: введите учетные данные пользователя для доступа к серверу HTTPS.
- Пароль: введите пароль для доступа к HTTPS-серверу.
- Нажмите «Отправить» .
- Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.
Примеры путей
В следующей таблице приведены примеры путей для каждого варианта хостинга:
Амазонка S3 | Облачное хранилище Google | HTTPS с картой сайта | |
---|---|---|---|
Путь | s3://foorestaurant-google-feed-sandbox/ | gs://foorestaurant-google-feed-sandbox/ | https://sandbox-foorestaurant.com/sitemap.xml |
Маркерный файл | s3://foorestaurant-google-feed-sandbox/marker.txt | gs://foorestaurant-google-feed-sandbox/marker.txt | Непригодный |
Карты сайта для HTTPS-хостинга
При определении файлов Sitemap используйте следующие рекомендации:
- Ссылки в вашей карте сайта должны указывать на сами файлы.
- Если ваша карта сайта содержит ссылки на поставщика облачных услуг вместо вашего собственного доменного имени, убедитесь, что начало URL-адресов, например
https://www.yourcloudprovider.com/your_id
, стабильно и уникально для вашего пакетного задания. - Будьте осторожны и не загружайте частичные файлы Sitemap (например, в случае частичной загрузки данных). В результате Google будет импортировать только файлы из карты сайта, что приведет к снижению уровня вашего инвентаря и может привести к блокировке приема вашего канала.
- Убедитесь, что пути к файлам, указанным в карте сайта, не изменились. Например, сегодня у вас нет ссылки на карту сайта
https://www.yourcloudprovider.com/your_id/10000.json
, а завтра —https://www.yourcloudprovider.com/your_id/20000.json
.
Пример карты сайта
Вот пример файла sitemap.xml
, который обслуживает файлы фида данных:
Пример 1. Объекты сгруппированы по продавцам (рекомендуется).
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
Пример 2: Сущности, сгруппированные по типам.
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/menu.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/service.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
Обновите фиды данных
После подключения ваших фидов данных Google проверяет наличие обновлений один раз в час, но мы принимаем все фиды данных только в том случае, если файлы marker.txt
или sitemap.xml
были изменены. Мы ожидаем, что вы будете обновлять свои каналы данных один раз в день, чтобы предотвратить устаревшие ресурсы.
Чтобы указать, что каналы данных были изменены и готовы к пакетному приему, обновите поле метаданных last-modified
объекта в файле marker.txt
(для GCP и S3) или заголовок last-modified
ответа в файле sitemap.xml
. Google использует эти значения, чтобы определить, насколько свежи данные.
Во время приема пакетного канала
- Будут вставлены новые объекты, которые не существуют в вашем текущем инвентаре сквозного заказа и не имеют ошибок.
- Объекты, уже присутствующие в инвентаре, которые не имеют никаких ошибок при приеме и либо имеют
dateModified
более позднюю, чем их текущая запись, либо, в случае отсутствияdateModified
время начала приема фида более позднее, чем текущая запись, они будут обновлены, иначе они будут помечены как устаревшие. - Объекты, которые были частью предыдущего фида и больше не включены в обрабатываемый пакетный фид, будут удалены при условии, что в фиде нет ошибок на уровне файлов.
Временную метку или заголовок ответа last-modified
необходимо обновлять только после того, как все файлы канала данных будут созданы и обновлены. Ограничьте запуск пакетных заданий, обновляющих каналы данных, только один раз в день. Альтернативно, между каждым пакетным заданием должен быть перерыв не менее трех часов. Если вы не выполните эти действия, Google может получить устаревшие файлы.