Ingestão em lote

Os feeds de dados permitem que você disponibilize seu restaurante, serviços e cardápio em um pedido completo.

Este documento mostra como hospedar inventários de sandbox e de produção, além de usar a ingestão em lote para atualizar o inventário na ordem de ponta a ponta.

Ambientes de feed de dados

Há três ambientes de feed de dados disponíveis para o desenvolvimento da integração:

Ambiente do feed Descrição Ingestão em lote
Sandbox O ambiente de teste para o desenvolvimento do seu feed. Obrigatório
Produção O ambiente de produção do inventário que você quer lançar. Obrigatório

Como hospedar feeds de dados

Para que a ordenação de ponta a ponta processe seus feeds de dados de sandbox e de produção por ingestão em lote, é necessário hospedar os arquivos de feed de dados no Google Cloud Storage, Amazon S3 ou HTTPS com um sitemap.

Recomendamos que você hospede os feeds de dados para os ambientes de sandbox e de produção separadamente. Essa abordagem permite fazer desenvolvimento e testes no ambiente do feed do sandbox antes de implantar as alterações na produção.

Por exemplo, se você usar o Google Cloud Storage como opção de hospedagem, poderá usar os seguintes caminhos:

  • Feed do sandbox:gs://foorestaurant-google-feed-sandbox/
  • Feed de produção:gs://foorestaurant-google-feed-prod/

Para hospedar seu inventário, faça o seguinte:

  1. Gere os arquivos do feed de dados.
  2. Escolha uma solução de hospedagem.
  3. Hospede seus feeds de dados.
  4. Certifique-se de que os arquivos do seu feed de dados sejam atualizados regularmente. Os feeds de dados de produção precisam ser atualizados diariamente.

Para detalhes sobre como criar um feed de inventário, consulte a documentação das entidades Restaurant, Service e Menu, assim como a seção Criar um feed de dados.

Diretrizes sobre arquivos de feed de dados

Cada arquivo, que pode conter várias entidades, não pode exceder 200 MB. As entidades de nível superior Restaurant, Service e Menu, assim como as entidades filhas, não podem exceder 4 MB.

Escolha uma solução de hospedagem

A tabela a seguir lista as opções de hospedagem dos feeds de dados e como esses hosts funcionam com a ordenação completa:

Amazon S3 Google Cloud Storage HTTPS com um sitemap
Credenciais e acesso

Forneça ao Google as seguintes informações:

  • ID da chave de acesso
  • Chave de acesso do secret
  • Os caminhos para os diretórios de produção e sandbox do S3 e para o arquivo marker.txt. O caminho precisa começar com s3://.

O bucket do S3 precisa incluir as seguintes informações:

  • Arquivos de feed para seu inventário.
  • marker.txt, que contém um carimbo de data/hora usado para busca.

Exemplo de arquivo marker.txt: 2018-12-03T08:30:42.694Z

Forneça ao Google os caminhos para os diretórios de bucket de produção e sandbox e para o arquivo marker.txt. Os caminhos precisam começar com gs://.

Adicione a conta de serviço fornecida pelo seu consultor do Google como um leitor do seu bucket do Google Cloud Storage.

Para mais informações sobre como controlar o acesso do Google Cloud Storage (GCS), consulte Console do Google Cloud Platform: como definir permissões do bucket.

O bucket do GCS precisa incluir as seguintes informações:

  • Arquivos de feed para seu inventário.
  • marker.txt, que contém um carimbo de data/hora usado para busca.

Exemplo de arquivo marker.txt: 2018-12-03T08:30:42.694Z

Forneça ao Google as seguintes informações:

  • Credenciais para sua autenticação básica.
  • O caminho para os caminhos dos sitemaps de produção e sandbox. O caminho precisa começar com https://.
  • Protocolo: você precisa disponibilizar seus arquivos de feed por HTTPS, não HTTP.
  • Segurança: o Google recomenda que você proteja seus arquivos de feed hospedados com a autenticação básica.
Como o Google sabe quais arquivos precisam ser buscados Lista de diretórios de todos os arquivos do bucket. Lista de diretórios de todos os arquivos do bucket. São URLs individuais dos arquivos listados no sitemap.
Como o Google sabe que os arquivos estão prontos para busca Depois de gerar seus feeds de dados, atualize o arquivo marker.txt com o carimbo de data/hora mais recente. Depois de gerar seus feeds de dados, atualize o arquivo marker.txt com o carimbo de data/hora mais recente. Quando terminar de gerar seus feeds de dados, atualize o cabeçalho de resposta last-modified de sitemap.xml com o carimbo de data/hora mais recente.
Limites de arquivo

Número máximo de arquivos: 100.000.

Você precisa ter menos de 100.000 arquivos no bucket do Amazon S3.

Número máximo de arquivos: 100.000.

Você precisa ter um total de menos de 100.000 arquivos no bucket do Google Cloud Storage.

Número máximo de arquivos: 100.000.

O número de caminhos no arquivo XML do sitemap precisa ser menor que 100.000.

Conecte seus feeds de dados para ingestão em lote

Depois de hospedar seus feeds, eles precisam ser conectados ao projeto na Central de ações. A configuração inicial dos feeds de produção é feita na página Integração de tarefas. Posteriormente, a configuração dos feeds de produção e sandbox pode ser atualizada a qualquer momento na página Configuração > Feeds por qualquer usuário do portal com um papel administrativo. O ambiente de sandbox é usado para fins de desenvolvimento e teste, enquanto os feeds de produção são exibidos aos usuários.

Se você hospeda seus feeds de dados com o Amazon S3

  1. Na Central de ações, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de exibição de feed:defina como Amazon S3.
    • Arquivo de marcador:forneça o URL do arquivo marker.txt.
    • Arquivos de dados: forneça o URL para o bucket do S3 que contém os feeds de dados.
    • ID de acesso:insira o ID da chave de acesso do IAM com permissões para ler os recursos do S3.
    • Chave de acesso:insira a chave de acesso secreta do IAM com permissões para ler os recursos do S3.
  3. Clique em Enviar.
  4. Depois de uma a duas horas, verifique se a ingestão em lote busca seus arquivos de feed.

Se você hospeda os feeds de dados com o Google Cloud Storage

  1. Na Central de ações, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de exibição de feed:defina como Google Cloud Storage.
    • Arquivo de marcador:forneça o URL do arquivo marker.txt.
    • Arquivos de dados:forneça o URL para o bucket do GCS que contém os feeds de dados.
  3. Clique em Enviar.
  4. Uma conta de serviço é criada para acessar seu bucket do GCS. O nome da conta pode ser encontrado em Configuração > Feeds depois que as tarefas de integração forem concluídas. Essa conta de serviço precisa do papel “Leitor de objeto legado do Storage”. Esse papel pode ser concedido à conta de serviço na página do IAM no console do Google Cloud.
  5. Depois de uma a duas horas, verifique se a ingestão em lote busca seus arquivos de feed.

Se você hospeda os feeds de dados com HTTPS

  1. Na Central de ações, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de exibição do feed:defina como HTTPS.
    • Arquivo de sitemap:forneça o URL do arquivo sitemap.xml.
    • Username:digite as credenciais do nome de usuário para acessar o servidor HTTPS.
    • Password:digite a senha para acessar o servidor HTTPS.
  3. Clique em Enviar.
  4. Depois de uma a duas horas, verifique se a ingestão em lote busca seus arquivos de feed.

Exemplos de caminhos

A tabela a seguir contém exemplos de caminhos para cada uma das opções de hospedagem:

Amazon S3 Google Cloud Storage HTTPS com um sitemap
Caminho s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Arquivo marcador s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt Não relevante

Sitemaps para hospedagem HTTPS

Use as seguintes diretrizes ao definir sitemaps:

  • Os links no sitemap precisam apontar para os próprios arquivos.
  • Caso seu sitemap inclua referências a um provedor de nuvem em vez do seu próprio nome de domínio, confira se o início dos URLs, como https://www.yourcloudprovider.com/your_id, é estável e exclusivo para o job em lote.
  • Tenha cuidado para não fazer o upload de sitemaps parciais (como no caso de um upload de dados parciais). Isso faz com que o Google processe somente os arquivos do sitemap, o que reduz os níveis de inventário e pode bloquear o processamento do feed.
  • Os caminhos para os arquivos referenciados no sitemap não podem mudar. Por exemplo, não encontre a referência do sitemap https://www.yourcloudprovider.com/your_id/10000.json hoje, mas consulte https://www.yourcloudprovider.com/your_id/20000.json amanhã.
Exemplo de sitemap

Confira um exemplo de arquivo sitemap.xml que veicula arquivos de feed de dados:

Exemplo 1: entidades agrupadas por comerciantes (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>

Exemplo 2: entidades agrupadas por tipo.

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>

Atualize seus feeds de dados

Depois que os feeds de dados são conectados, o Google verifica se há atualizações uma vez por hora, mas só processamos todos os feeds de dados quando os arquivos marker.txt ou sitemap.xml são modificados. É esperado que você atualize seus feeds de dados uma vez por dia para evitar que o inventário fique desatualizado.

Para especificar que os feeds de dados foram modificados e estão prontos para ingestão em lote, atualize o campo de metadados do objeto last-modified do arquivo marker.txt (para GCP e S3) ou o cabeçalho de resposta last-modified do arquivo sitemap.xml. O Google usa esses valores para determinar quando o feed de dados é atualizado.

Como o feed em lote está sendo processado,

  • Serão inseridas novas entidades que não existem no seu inventário atual de Pedidos de ponta a ponta e que não têm erros.
  • Entidades presentes no inventário que não têm erros de processamento e têm uma dateModified mais recente do que a entrada atual ou, se não tiverem um dateModified, o horário de início do processamento do feed será mais recente do que a entrada atual, elas seriam atualizadas. Caso contrário, seriam marcadas como desatualizadas.
  • As entidades que faziam parte de um feed anterior e não estão mais incluídas no feed em lote que está sendo processado são excluídas, desde que não haja erros no nível do arquivo no feed.

O carimbo de data/hora ou o cabeçalho de resposta last-modified só pode ser atualizado depois que todos os arquivos do feed de dados forem gerados e atualizados. Limite os jobs em lote que atualizam seus feeds de dados para que sejam executados apenas uma vez por dia. Outra opção é ter um intervalo de pelo menos três horas entre cada job em lote. Se você não seguir essas etapas, o Google poderá buscar arquivos desatualizados.