O pseudocódigo a seguir descreve um procedimento que pode ser seguido usando a API Data Lineage para buscar links de linhagem de dados em 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 usado para paginação)
- Criar:
- lista de todas as regiões para fan-out chamada
regions. - lista de regiões inacessíveis chamada
unreachable. - uma lista vazia de links encontrados chamada
foundLinks. - uma variável vazia
nextPageTokenenextRegionalPageToken. - uma variável
lastRegionvazia. - uma variável
lastRegionLinksCountvazia.
- lista de todas as regiões para fan-out chamada
- Ordenar
regionsem ordem alfabética. - Analisar
regionalPageToken- Se estiver vazio, prossiga para a etapa 5.
- Se não estiver vazio,
- Analisar
regionalPageTokendividindo-o pelo primeiro ponto em dois segmentos - filtrar regiões, considerando apenas as que estão após (em ordem alfabética) o primeiro segmento da
regionalPageTokenanalisada. - armazene o segundo segmento para usá-lo em todas as chamadas projects.locations.searchLinks.
- Analisar
- Faça uma chamada para projects.locations.searchLinks
em cada região na lista
regionsem 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 uma das respostas (começando pela primeira região em ordem alfabética)
- se nenhum link foi retornado com um token de página não vazio
- nome da região da loja em
lastRegion. - Salvar o pageToken recebido em
nextPageToken. - ignore as respostas restantes.
- nome da região da loja em
- caso contrário
- nome da região da loja em
lastRegion. - salvar links recebidos em
foundLinks(atélinksToFetch). - Salvar o pageToken recebido em
nextPageToken. - Armazene o número de links usados da resposta em
lastRegionLinksCount. - if
foundLinksis less thanlinksToFetch- continue o pseudocódigo com a próxima resposta recebida na ordem alfabética.
- if
foundLinksequalslinksToFetch- Faça outra solicitação para o endpoint projects.locations.searchLinks
na mesma região, mas defina o parâmetro
pageSizecomo o valor delastRegionLinksCount. - Armazenar o pageToken recebido em
nextPageToken. - Continue para a etapa 9
- Faça outra solicitação para o endpoint projects.locations.searchLinks
na mesma região, mas defina o parâmetro
- nome da região da loja em
- se nenhum link foi retornado com um token de página não vazio
- Adicione
nextPageTokencom olastRegion(ou seja,[region].[receivedNextPageToken]) para criarnextRegionalPageTokene processar a paginação em chamadas consecutivas.