O pseudocódigo a seguir descreve um procedimento que pode ser seguido usando a API de linhagem de dados para buscar links de linhagem de dados de todas as regiões disponíveis.
- Configuração de entrada:
linksToFetch
= 5 (número de links a serem buscados de todas as regiões)regionalPageToken
= "" (último token de página regional recebido para paginação)- Crie:
- lista de todas as regiões a serem distribuídas em
regions
. - lista de regiões inacessíveis chamadas
unreachable
. - Uma lista vazia de links encontrados chamada
foundLinks
. - uma variável vazia
nextPageToken
enextRegionalPageToken
- uma variável vazia
lastRegion
- uma variável vazia
lastRegionLinksCount
- lista de todas as regiões a serem distribuídas em
- Classifique
regions
em ordem alfabética. - Analisar
regionalPageToken
- Se ela estiver vazia, prossiga para a etapa 4.
- Se não estiver,
- analise
regionalPageToken
dividindo o primeiro ponto em dois segmentos - filtre as regiões escolhendo apenas as que estão depois (em ordem alfabética) do primeiro segmento da
regionalPageToken
analisada. - armazenar o segundo segmento para usá-lo em todas as chamadas de projects.locations.searchLinks.
- analise
- Faça uma chamada para projects.locations.searchLinks em cada região na lista
regions
em paralelo. - Aguarde a conclusão de todas as solicitações.
- Filtre as respostas bem-sucedidas e armazene os nomes das regiões com falha na lista
unreachable
. - Para cada resposta (começando com a primeira região em ordem alfabética)
- se nenhum link for retornado com um token de página não vazio.
- armazenar o nome da região em
lastRegion
. - salvar o token de página recebido em
nextPageToken
. - ignore as respostas restantes.
- armazenar o nome da região em
- Caso contrário,
- armazenar o nome da região em
lastRegion
. - salvar links recebidos em
foundLinks
(atélinksToFetch
). - salvar o token de página recebido em
nextPageToken
. - armazenar o número de links retirados da resposta em
lastRegionLinksCount
. - se
foundLinks
for menor quelinksToFetch
- Continuar o pseudocódigo com a próxima resposta recebida em ordem alfabética.
- se
foundLinks
for igual alinksToFetch
- faça outra solicitação para o endpoint projects.locations.searchLinks na mesma região, mas defina o parâmetro
pageSize
como o valor delastRegionLinksCount
. - loja recebeu o token de página em
nextPageToken
- ir para a etapa 8
- faça outra solicitação para o endpoint projects.locations.searchLinks na mesma região, mas defina o parâmetro
- armazenar o nome da região em
- se nenhum link for retornado com um token de página não vazio.
- Inclua o valor de nextPageToken com o
lastRegion
(por exemplo, "[region].[receivedNextPageToken]") para criarnextRegionalPageToken
para lidar com a paginação em chamadas consecutivas.