Obtenha links de linhagem de várias regiões

O pseudocódigo seguinte descreve um procedimento que pode seguir usando a API Data Lineage para obter links de linhagem de dados de todas as regiões disponíveis.

  1. Configuração de entrada:
    • linksToFetch = 5 (número de links a obter de todas as regiões)
    • regionalPageToken = "" (token da página regional recebido pela última vez usado para paginação)
  2. Criar:
    1. lista de todas as regiões a expandir denominada regions.
    2. lista de regiões inacessíveis denominada unreachable.
    3. Uma lista vazia de links encontrados denominada foundLinks.
    4. uma variável vazia nextPageToken e nextRegionalPageToken.
    5. uma variável vazia lastRegion.
    6. uma variável vazia lastRegionLinksCount.
  3. Ordenar regions alfabeticamente.
  4. Analisar regionalPageToken
    1. Se estiver vazio, avance para o passo 5
    2. Se não estiver vazio, então
      1. analisa regionalPageToken dividindo-o pelo primeiro ponto em dois segmentos
      2. Filtrar regiões tomando apenas as que estão depois (por ordem alfabética) do primeiro segmento do regionalPageToken analisado.
      3. Armazenar o segundo segmento para o usar em todas as chamadas projects.locations.searchLinks.
  5. Faça uma chamada para projects.locations.searchLinks em cada região na lista regions em paralelo.
  6. Aguarde a conclusão de todos os pedidos.
  7. Filtre as respostas bem-sucedidas e armazene os nomes das regiões com falhas na lista unreachable.
  8. Para cada uma das respostas (começando pela primeira região por ordem alfabética)
    1. se não forem devolvidos links juntamente com um token de página não vazio
      1. armazenar o nome da região da loja em lastRegion.
      2. guardar pageToken recebido em nextPageToken.
      3. Ignorar as respostas restantes.
    2. caso contrário
      1. armazenar o nome da região da loja em lastRegion.
      2. guardar links recebidos em foundLinks (até linksToFetch).
      3. guardar pageToken recebido em nextPageToken.
      4. Armazenar o número de links obtidos da resposta em lastRegionLinksCount.
      5. se foundLinks for inferior a linksToFetch
        1. continuar o pseudocódigo com a próxima resposta recebida por ordem alfabética.
      6. se foundLinks for igual a linksToFetch
        1. Faça outro pedido ao ponto final projects.locations.searchLinks na mesma região, mas defina o parâmetro pageSize para o valor de lastRegionLinksCount.
        2. A loja recebeu pageToken em nextPageToken.
        3. continue para o passo 9
  9. Adicione nextPageToken com lastRegion (ou seja, [region].[receivedNextPageToken]) para criar nextRegionalPageToken para processar a paginação em chamadas consecutivas.