Ingestão em lote

Seus feeds de dados permitem você disponibiliza seu restaurante, serviços e cardápio em "Pedir de ponta a ponta".

Neste documento, explicamos como hospedar inventários de produção e sandbox e usar a ingestão em lote para atualizar seu inventário em "Pedido 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 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 pedido completo processe seus feeds de dados de produção e sandbox por 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 que você faça desenvolvimento e testes no seu ambiente de feed de sandbox antes de implantá-las na produção.

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

  • Feed de 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 seus arquivos de feed de dados.
  2. Escolha uma solução de hospedagem.
  3. Hospede seus feeds de dados.
  4. Os arquivos do feed de dados precisam ser atualizados regularmente. Os feeds de dados de produção precisam ser atualizados diariamente.

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

Diretrizes sobre os arquivos de feed de dados

Cada arquivo, que pode conter várias entidades, não pode exceder 200 MB. Nível superior entidades Restaurant, Service e Menu, bem como as respectivas entidades filhas não podem exceder 4 MB ao mesmo tempo.

Escolher uma solução de hospedagem

A tabela a seguir lista as opções para hospedar seus feeds de dados e como esses hosts trabalham com Pedidos de ponta a ponta:

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 marker.txt . O caminho precisa começar com s3://.

O bucket 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

Informe ao Google os caminhos para seus diretórios de bucket de produção e sandbox e marker.txt. Eles precisam começar com gs://.

Adicione a conta de serviço fornecida pelo consultor do Google como leitor da sua solicitação do bucket do Cloud Storage.

Para mais informações sobre como controlar o acesso ao Google Cloud Storage (GCS), consulte Google Console do Cloud Platform: como definir permissões de 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 seus caminhos do sitemap de produção e sandbox. O caminho precisa começar com https://.
  • Protocolo: é preciso disponibilizar os arquivos do feed por HTTPS, não HTTP.
  • Segurança: o Google recomenda que você proteja seus arquivos de feed hospedados com Autenticação básica.
Como o Google sabe quais arquivos precisam ser buscados Listagem do diretório de todos os arquivos no bucket. Listagem do diretório de todos os arquivos no bucket. São URLs individuais de 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 pelo carimbo de data/hora mais recente. Depois de gerar seus feeds de dados, atualize o arquivo marker.txt pelo 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 arquivo

Número máximo de arquivos: 100.000.

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

Número máximo de arquivos: 100.000.

É preciso ter menos de 100.000 arquivos no total no bucket do Google Cloud Storage.

Número máximo de arquivos: 100.000.

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

Conecte seus feeds de dados para ingestão em lote

Depois de hospedar os feeds, você precisa conectá-los ao seu projeto na Central de ações. A a configuração inicial dos feeds de produção é feita na página Onboarding Tasks. Mais tarde a configuração dos feeds de produção e sandbox pode ser atualizada na página Configuração > Feeds a qualquer momento por qualquer usuário do portal com uma de administrador. 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ê hospedar 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 do 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 de leitura do S3 do Google Cloud.
    • Access Key:insira a chave de acesso secreta do IAM com permissões para ler os dados do S3 do Google Cloud.
  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ê hospedar seus 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 entrega do feed:defina como Google Cloud Storage.
    • Arquivo de marcador:forneça o URL do arquivo marker.txt.
    • Arquivos de dados: forneça o URL do 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 após as tarefas de integração sejam 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 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ê hospedar seus 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.
    • Nome de usuário:digite as credenciais de nome de usuário para acessar o servidor HTTPS.
    • Senha: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 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 de seu próprio nome de domínio, verifique se o início dos URLs, como https://www.yourcloudprovider.com/your_id, são estáveis e exclusivos do job em lote.
  • Tenha cuidado para não fazer o upload de sitemaps parciais (como no caso de um upload parcial de dados). Fazer faz com que o Google processe apenas os arquivos no sitemap, o que fará com que seu inventário queda de nível e pode resultar no bloqueio da ingestão do feed.
  • Garanta que os caminhos para os arquivos referenciados no sitemap não sejam alterados. Por exemplo, não faça com que o sitemap faça a referência https://www.yourcloudprovider.com/your_id/10000.json hoje, mas mencione https://www.yourcloudprovider.com/your_id/20000.json amanhã.
Exemplo de sitemap

Veja um exemplo de 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 seus feeds de dados

Depois que seus feeds de dados são conectados, o Google verifica se há atualizações a cada hora, mas só ingerimos todos os feeds de dados quando os arquivos marker.txt ou sitemap.xml forem modificado. Esperamos 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 o GCP e S3) ou o cabeçalho de resposta last-modified do arquivo sitemap.xml. Google usa esses valores para determinar se um feed de dados é atualizado.

À medida que o feed em lote é processado,

  • Novas entidades que não existem no seu inventário de pedidos de ponta a ponta e que não têm erros serão inseridos.
  • Entidades já presentes no inventário que não têm erros no ingestão e têm um dateModified mais recente do que entrada atual ou, no caso de não ter um dateModified, o o horário de início do processamento do feed é mais recente do que a entrada atual atualizados; caso contrário, seriam marcados como desatualizados.
  • Entidades que faziam parte de um feed anterior e que não estão mais incluídas em o feed de lote que está sendo processado será excluído, desde que não haja nenhum arquivo no nível do feed.

O carimbo de data/hora ou o cabeçalho de resposta last-modified precisa ser atualizado somente depois de todos os dados arquivos de feed são gerados e atualizados. Limitar a execução apenas de jobs em lote que atualizam seus feeds de dados uma vez por dia. Como alternativa, faça um intervalo de pelo menos três horas entre cada job em lote. Se você não seguir essas etapas, o Google pode buscar arquivos desatualizados.