O fan-out do lado do cliente no Knowledge Catalog (antigo Dataplex Universal Catalog) permite usar a API Data Lineage para recuperar e agregar links de linhagem de dados em várias regiões do Google Cloud . Consultar endpoints regionais em paralelo ajuda a criar uma visualização de linhagem unificada quando os recursos de dados abrangem locais diferentes.
Por que usar o fan-out do lado do cliente?
A abordagem de fan-out do lado do cliente é útil quando os recursos de dados estão distribuídos em diferentes locais e você quer orquestrar consultas regionais no cliente. É possível usar essa abordagem para buscar e agregar dados de linhagem de todas as regiões disponíveis ao rastrear a linhagem de salto único em um conjunto conhecido de regiões ou manter a compatibilidade com os fluxos de trabalho projects.locations.searchLinks existentes.
Para mais informações, consulte Sobre a pesquisa de linhagem multirregional.
Pseudocódigo detalhado
O procedimento faz solicitações paralelas ao endpoint projects.locations.searchLinks
em cada região. Você coleta resultados, lida com a paginação entre regiões
e agrega os links encontrados. Para garantir uma paginação consistente nas chamadas seguintes, gerencie um regionalPageToken. Isso é importante para regiões inacessíveis.
O pseudocódigo a seguir descreve um procedimento que pode ser seguido usando a API Data Lineage 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 em 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 vazia
lastRegion. - uma variável vazia
lastRegionLinksCount.
- lista de todas as regiões para fan-out chamada
- Classificar
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 as regiões usando apenas aquelas que estão depois (em ordem alfabética) do primeiro segmento do
regionalPageTokenanalisado. - 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 com a primeira região em ordem alfabética)
- se nenhum link foi retornado com um token de página não vazio
- Armazene o nome da região em
lastRegion. - salve o pageToken recebido em
nextPageToken. - ignore as respostas restantes.
- Armazene o nome da região em
- caso contrário,
- Armazene o nome da região em
lastRegion. - salvar os links recebidos em
foundLinks(atélinksToFetch). - salve o pageToken recebido em
nextPageToken. - armazene o número de links extraídos da resposta em
lastRegionLinksCount. - se
foundLinksfor menor quelinksToFetch- continue o pseudocódigo com a próxima resposta recebida em ordem alfabética.
- se
foundLinksfor igual alinksToFetch- faça outra solicitação ao endpoint projects.locations.searchLinks
na mesma região, mas defina o parâmetro
pageSizecomo o valor delastRegionLinksCount. - armazene o pageToken recebido em
nextPageToken. - continue para a etapa 9
- faça outra solicitação ao endpoint projects.locations.searchLinks
na mesma região, mas defina o parâmetro
- Armazene o nome da região em
- se nenhum link foi retornado com um token de página não vazio
- Adicione
nextPageTokenantes delastRegion(ou seja,[region].[receivedNextPageToken]) para criarnextRegionalPageTokene processar a paginação em chamadas consecutivas.
A seguir
Saiba mais sobre a pesquisa de linhagem multirregional.
Saiba como pesquisar linhagem multirregional usando a automação do lado do servidor.
Saiba mais sobre a linhagem de dados.