Ingestão em lote

Com os feeds de dados, você pode disponibilizar restaurantes, serviços e cardápios no Pedir com o Google.

Neste documento, veremos como hospedar seu inventário de sandbox e de produção e como usar a ingestão em lote para atualizar seu inventário no Pedir com o Google.

Ambientes de feed de dados

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

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

Hospedagem de feeds de dados

Para que o Order with Google processe seus feeds de dados de sandbox e de produção por ingestão em lote, é preciso hospedar os arquivos do feed de dados no Google Cloud Storage, Amazon S3 ou HTTPS com um sitemap.

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

Por exemplo, se usar o Google Cloud Storage como opção de hospedagem, você terá 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. Seus arquivos de feed de dados devem ser atualizados regularmente. Os feeds de dados de produção precisam ser atualizados diariamente.

Para saber mais sobre como criar um feed de inventário, consulte a documentação das entidades Restaurant, Service e Menu, bem como na 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, além das entidades filhas, não podem exceder 4 MB juntas.

Escolha uma solução de hospedagem

A tabela a seguir lista as opções para hospedar seus feeds de dados e como esses hosts funcionam com o Pedir com o Google:

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 S3 de produção e de sandbox e o arquivo marker.txt. O caminho precisa começar com s3://.

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

  • Arquivos de feed do 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 do bucket de produção e de sandbox e o arquivo marker.txt. Os caminhos precisam começar com gs://.

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

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

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

  • Arquivos de feed do 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 da sua autenticação básica.
  • O caminho para os caminhos de sitemap de produção e de sandbox. O caminho precisa começar com https://.
  • Protocolo: é necessário disponibilizar os 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 no bucket. Lista de diretórios de todos os arquivos no bucket. Os URLs individuais dos arquivos estão 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. Depois de gerar seus feeds de dados, atualize o cabeçalho de resposta last-modified do seu sitemap.xml com o carimbo de data/hora mais recente.
Limites de arquivos

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 menos de 100.000 arquivos no bucket do Google Cloud Storage.

Número máximo de arquivos: 100.000.

O número de caminhos de arquivo no seu arquivo XML de sitemap precisa ser inferior a 100.000.

Conectar seus feeds de dados para processamento em lote

Depois de hospedar seus feeds, você precisa conectá-los ao seu projeto no Portal do parceiro. A configuração inicial dos feeds de produção é feita na página Tarefas de integração. Mais tarde, a configuração dos feeds de produção e de sandbox poderá ser atualizada na página Feeds de configuração > a qualquer momento por usuários do portal com um papel administrativo. O ambiente 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. No Portal do parceiro, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de entrega de feed: defina como Amazon S3.
    • Arquivo de marcador:forneça o URL do arquivo marker.txt.
    • Arquivos de dados:forneça o URL ao 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. Após uma ou duas horas, verifique se a ingestão em lote busca seus arquivos de feed.

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

  1. No Portal do parceiro, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de envio 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 ao 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 Feeds de configuração > após a conclusão das tarefas de integração. Essa conta de serviço precisa do papel "Leitor de objetos legado do Storage". Esse papel pode ser concedido à conta de serviço na página do IAM do Console do Google Cloud.
  5. Após uma ou duas horas, verifique se a ingestão em lote busca seus arquivos de feed.

Se você hospeda seus feeds de dados com HTTPS

  1. No Portal do parceiro, acesse Configuração > Feeds.
  2. Clique em Editar e preencha o formulário Atualizar feed:

    • Método de envio de feed: defina como HTTPS.
    • Arquivo de sitemap: forneça o URL do arquivo sitemap.xml.
    • Nome de usuário:digite as credenciais de nome de usuário para acessar o servidor HTTPS.
    • Password:digite a senha para acessar o servidor HTTPS.
  3. Clique em Enviar.
  4. Após uma ou 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 aplicável

Sitemaps para hospedagem HTTPS

Use as seguintes diretrizes ao definir sitemaps:

  • Os links no sitemap precisam apontar para os próprios arquivos.
  • Se o sitemap incluir referências a um provedor de nuvem em vez do seu próprio nome de domínio, verifique se o início dos URLs, como https://www.yourcloudprovider.com/your_id, é estável e exclusivo para seu job em lote.
  • Tenha cuidado para não fazer upload de sitemaps parciais (como no caso de um upload de dados parcial). Isso faz com que o Google processe apenas os arquivos no sitemap, o que fará com que os níveis de inventário caiam e podem resultar no bloqueio da ingestão do feed.
  • Verifique se os caminhos para os arquivos referenciados no sitemap não mudam. Por exemplo, não faça a referência do sitemap https://www.yourcloudprovider.com/your_id/10000.json hoje, mas faça referência a https://www.yourcloudprovider.com/your_id/20000.json amanhã.
Exemplo de sitemap

Veja um exemplo de um arquivo sitemap.xml que exibe 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 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>

Atualizar feeds de dados

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

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 se um feed de dados é ou não atualizado.

Conforme o feed em lote é ingerido,

  • Novas entidades que não existem no seu inventário atual do OwG e que não têm erros serão inseridas.
  • As entidades já presentes no inventário que não têm erros de ingestão e têm um dateModified mais recente do que a entrada atual ou, no caso de não ter um dateModified, o horário de início da ingestão do feed é mais recente do que a entrada atual que seria atualizada. Caso contrário, elas seriam marcadas como desatualizadas.
  • As entidades que faziam parte de um feed anterior que não estão mais incluídas no feed em lote sendo processado serã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 precisam ser atualizados somente 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 serem executados apenas uma vez por dia. Ou então, tenha 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.