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:
- Gere seus arquivos de feed de dados.
- Escolha uma solução de hospedagem.
- Hospede seus feeds de dados.
- 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:
O bucket S3 precisa incluir as seguintes informações:
Exemplo de arquivo |
Informe ao Google os caminhos para seus diretórios de bucket de produção e sandbox e
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:
Exemplo de arquivo |
Forneça ao Google as seguintes informações:
|
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
- Na Central de ações, acesse Configuração >. Feeds.
-
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.
- Clique em Enviar.
- 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
- Na Central de ações, acesse Configuração >. Feeds.
-
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.
- Clique em Enviar.
- 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 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.
- 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
- Na Central de ações, acesse Configuração >. Feeds.
-
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.
- Clique em Enviar.
- 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 mencionehttps://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 que já estão presentes no inventário e 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 umdateModified
, 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.