Transferencia por lotes

Sus feeds de datos permiten para que tu restaurante, tus servicios y tu menú estén disponibles en Pedidos de extremo a extremo.

En este documento, se explica cómo alojar tu zona de pruebas y los inventarios de producción, y usar la transferencia por lotes para actualizar tu inventario en Pedidos de extremo a extremo.

Entornos de feeds de datos

Hay tres entornos de feed de datos disponibles para el desarrollo de su integración:

Entorno del feed Descripción Transferencia por lotes
Zona de pruebas Es el entorno de pruebas para el desarrollo de tu feed. Obligatorio
Producción Es el entorno de producción del inventario que quieres lanzar. Obligatorio

Alojamiento de feeds de datos

Para que realice pedidos de extremo a extremo para procesar sus feeds de datos de zona de pruebas y producción por lotes debes alojar los archivos de tu feed de datos en Google Cloud Storage, Amazon S3 o HTTPS con una mapa del sitio.

Te recomendamos que alojes los feeds de datos para tus entornos de zona de pruebas y producción. por separado. Este enfoque te permite realizar desarrollos y pruebas en tu entorno de feed de zona de pruebas. antes de implementar los cambios en producción.

Por ejemplo, si usas Google Cloud Storage como opción de hosting, tendrías las siguientes opciones: rutas de acceso:

  • Feed de zona de pruebas: gs://foorestaurant-google-feed-sandbox/
  • Feed de producción: gs://foorestaurant-google-feed-prod/

Para alojar tu inventario, haz lo siguiente:

  1. Genera tus archivos de feed de datos.
  2. Elige una solución de hosting.
  3. Aloja tus feeds de datos.
  4. Asegúrate de que los archivos de tu feed de datos se actualicen periódicamente. Se deben actualizar los feeds de datos de producción todos los días.

Para obtener detalles sobre cómo crear un feed de inventario, consulta la documentación del Restaurant: Service: y Menu así como el Cómo crear un feed de datos sección.

Lineamientos sobre archivos de feeds de datos

Cada archivo, que puede contener varias entidades, no debe superar los 200 MB. El nivel superior las entidades Restaurant, Service y Menu, junto con sus secundarias, no deben superar los 4 MB en conjunto.

Elige una solución de hosting

La siguiente tabla muestra las opciones para alojar tus feeds de datos y cómo funcionan esos hosts Pedidos de extremo a extremo:

Amazon S3 Google Cloud Storage HTTPS con un mapa del sitio
Credenciales y acceso

Proporciona a Google la siguiente información:

  • ID de clave de acceso
  • Clave de acceso secreta
  • Las rutas de acceso a los directorios marker.txt de S3 y de zona de pruebas . La ruta de acceso debe comenzar con s3://.

El bucket de S3 debe incluir la siguiente información:

  • Archivos de feed para tu inventario.
  • marker.txt, que contiene una marca de tiempo que se usa para la recuperación.

Archivo marker.txt de ejemplo: 2018-12-03T08:30:42.694Z

Proporciona a Google las rutas de acceso a los directorios de producción y de buckets de la zona de pruebas, y marker.txt. Las rutas de acceso deben comenzar con gs://.

Agregue la cuenta de servicio proporcionada por su asesor de Google como lector de su cuenta de Google bucket de Cloud Storage.

Para obtener más información sobre cómo controlar el acceso a Google Cloud Storage (GCS), consulta Google Cloud Platform Console: Configura los permisos del bucket

El bucket de GCS debe incluir la siguiente información:

  • Archivos de feed para tu inventario.
  • marker.txt, que contiene una marca de tiempo que se usa para la recuperación.

Archivo marker.txt de ejemplo: 2018-12-03T08:30:42.694Z

Proporciona a Google la siguiente información:

  • Credenciales de tu autenticación básica
  • La ruta a las rutas del mapa del sitio de producción y zona de pruebas. La ruta de acceso debe comenzar con https://.
  • Protocolo: Debes hacer que los archivos de tu feed estén disponibles a través de HTTPS, no a través de HTTP.
  • Seguridad: Google recomienda que protejas los archivos de tu feed alojado con Autenticación básica.
Cómo sabe Google qué archivos deben recuperarse Es la lista de directorio de todos los archivos del bucket. Es la lista de directorio de todos los archivos del bucket. Son las URLs individuales de los archivos incluidos en el mapa del sitio.
Cómo sabe Google que los archivos están listos para recuperarse Cuando termines de generar tus feeds de datos, actualiza el archivo marker.txt con la marca de tiempo más reciente. Cuando termines de generar tus feeds de datos, actualiza el archivo marker.txt con la marca de tiempo más reciente. Cuando termines de generar tus feeds de datos, actualiza el encabezado de respuesta last-modified de tu sitemap.xml con la marca de tiempo más reciente.
Límites de archivos

Cantidad máxima de archivos: 100,000.

Debes tener menos de 100,000 archivos en total en tu bucket de Amazon S3.

Cantidad máxima de archivos: 100,000.

Debes tener menos de 100,000 archivos en total en tu bucket de Google Cloud Storage.

Cantidad máxima de archivos: 100,000.

En tu archivo en formato XML de mapa del sitio, la cantidad de rutas de acceso a los archivos debe ser inferior a 100,000.

Conecta tus feeds de datos para la transferencia por lotes

Después de alojar tus feeds, debes conectarlos a tu proyecto en el Centro de Acciones. El La configuración inicial de los feeds de producción se realiza en la página Tareas de integración. Más adelante Los usuarios del portal que tengan una cuenta de servicio pueden actualizar la configuración de los feeds de producción y zona de pruebas desde la página Configuración > Feeds en cualquier momento. administrativo. El entorno de la zona de pruebas se usa para fines de desarrollo y prueba, mientras que los feeds de producción se muestran a los usuarios.

Si aloja sus feeds de datos en Amazon S3

  1. En el Centro de acciones, ve a Configuración >. Feeds.
  2. Haz clic en Editar y completa el formulario Actualizar feed:

    • Método de publicación del feed: Configúralo como Amazon S3.
    • Archivo de marcador: Proporciona la URL del archivo marker.txt.
    • Archivos de datos: Proporciona la URL del bucket de S3 que contiene los feeds de datos.
    • ID de acceso: Ingresa el ID de clave de acceso de IAM con permisos para leer desde S3. de Google Cloud.
    • Clave de acceso: ingresa la clave de acceso secreta de IAM con permisos para leer desde S3 de Google Cloud.
  3. Haz clic en Enviar.
  4. Después de una o dos horas, comprueba si la transferencia por lotes recupera los archivos de tu feed.

Si alojas sus feeds de datos con Google Cloud Storage

  1. En el Centro de acciones, ve a Configuración >. Feeds.
  2. Haz clic en Editar y completa el formulario Actualizar feed:

    • Método de entrega del feed: Configúralo como Google Cloud Storage.
    • Archivo de marcador: Proporciona la URL del archivo marker.txt.
    • Archivos de datos: Proporciona la URL al bucket de GCS que contiene los feeds de datos.
  3. Haz clic en Enviar.
  4. Se creará una cuenta de servicio para acceder a tu bucket de GCS. El nombre de la cuenta se encuentra en Configuración > Feeds después de las tareas de integración estén completos. Esta cuenta de servicio necesita el rol “Lector de objetos heredados de almacenamiento”. Este rol puede a la cuenta de servicio en la página de IAM de la consola de Google Cloud.
  5. Después de una o dos horas, comprueba si la transferencia por lotes recupera los archivos de tu feed.

Si aloja sus feeds de datos con HTTPS

  1. En el Centro de acciones, ve a Configuración >. Feeds.
  2. Haz clic en Editar y completa el formulario Actualizar feed:

    • Método de publicación del feed: Configúralo como HTTPS.
    • Archivo de mapa del sitio: Proporciona la URL del archivo sitemap.xml.
    • Nombre de usuario: Ingresa las credenciales del nombre de usuario para acceder al servidor HTTPS.
    • Contraseña: Ingresa la contraseña para acceder al servidor HTTPS.
  3. Haz clic en Enviar.
  4. Después de una o dos horas, comprueba si la transferencia por lotes recupera los archivos de tu feed.

Rutas de ejemplo

La siguiente tabla contiene ejemplos de rutas para cada una de las opciones de hosting:

Amazon S3 Google Cloud Storage HTTPS con un mapa del sitio
Ruta s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Archivo de marcador s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt No aplicable

Mapas del sitio para hosting HTTPS

Usa los siguientes lineamientos cuando definas mapas del sitio:

  • Los vínculos del mapa del sitio deben dirigir a los archivos.
  • Si tu mapa del sitio incluye referencias a un proveedor de servicios en la nube en lugar de tu propio nombre de dominio, asegúrate de que el inicio de las URLs, como https://www.yourcloudprovider.com/your_id, sean estables y únicos para tu trabajo por lotes.
  • Ten cuidado de no subir mapas del sitio parciales (por ejemplo, en el caso de una carga parcial de datos). Hacer por lo que Google solo transfiere los archivos del mapa del sitio, lo que hará niveles disminuirán y es posible que se bloquee la transferencia de tu feed.
  • Asegúrate de que no cambien las rutas de acceso a los archivos a los que se hace referencia en el mapa del sitio. Por ejemplo, no ten como referencia el mapa del sitio https://www.yourcloudprovider.com/your_id/10000.json hoy, pero luego hacen referencia a https://www.yourcloudprovider.com/your_id/20000.json en el futuro.
Ejemplo de mapa del sitio

Este es un archivo sitemap.xml de ejemplo que publica archivos de feed de datos:

Ejemplo 1: Entidades agrupadas por comercios (recomendado)

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>

Ejemplo 2: Entidades agrupadas por tipos.

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>

Actualiza tus feeds de datos

Después de conectar tus feeds de datos, Google busca actualizaciones una vez por hora, pero solo transfiere todos los feeds de datos cuando los archivos marker.txt o sitemap.xml se hayan modificado. Esperamos que actualices tus feeds de datos una vez al día para evitar que el inventario esté inactivo.

Para especificar que los feeds de datos se modificaron y están listos para la transferencia por lotes, actualiza el archivo Campo de metadatos del objeto last-modified del archivo marker.txt (para GCP y S3) o el encabezado de respuesta last-modified del archivo sitemap.xml. Google usa estos valores para determinar qué tan reciente es un feed de datos.

Mientras se transfiere el feed por lotes,

  • Entidades nuevas que no existen en tu inventario actual de pedidos de extremo a extremo y no tienen ninguna errores.
  • Entidades que ya están en el inventario y que no tienen errores en transferencia y tienen un dateModified más reciente que su entrada actual o, en caso de no tener un dateModified, el la hora de inicio de la transferencia del feed es más reciente que la entrada actual se actualicen; de lo contrario, se marcarán como inactivas.
  • Entidades que formaban parte de un feed anterior y que ya no se incluyen en el feed por lotes que se está procesando se eliminará, siempre y cuando no haya errores a nivel del feed.

La marca de tiempo o el encabezado de respuesta last-modified deben actualizarse solo después de todos los datos. se generarán y actualizarán los archivos de feed. Limita los trabajos por lotes que actualizan los feeds de datos para que se ejecuten solo una vez al día. Como alternativa, deja un intervalo de al menos tres horas entre cada trabajo por lotes. Si no seguir estos pasos, es posible que Google recupere archivos inactivos.