Considerações sobre gateway de dados local para destinos de dados no Dataflow Gen2

Este artigo tenta listar as limitações e considerações ao usar o Data Gateway com cenários de destinos de dados no Dataflow Gen2.

Tempos limite de avaliação

Os fluxos de dados que usam um Gateway e o recurso de destino de dados são limitados a um tempo de avaliação ou atualização de uma hora.

Saiba mais sobre essa limitação no artigo Solucionar problemas do gateway de dados local.

Problemas de rede com a porta 1433

Ao usar o Microsoft Fabric Dataflow Gen2 com um gateway de dados local, você pode encontrar problemas com o processo de atualização do fluxo de dados. O problema subjacente ocorre quando o gateway não consegue se conectar ao fluxo de dados preparo Lakehouse para ler os dados antes de copiá-los para o destino de dados desejado. Esse problema pode ocorrer independentemente do tipo de destino de dados que está sendo usado.

Durante a atualização geral do fluxo de dados, a atualização das tabelas pode ser mostrada como "Bem-sucedida", mas a seção de atividades é mostrada como "Falha". Os detalhes do erro para a atividade WriteToDatabaseTableFrom_... indicam o seguinte erro:

Mashup Exception Error: Couldn't refresh the entity because of an issue with the mashup document MashupException.Error: Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.) Details: DataSourceKind = Lakehouse;DataSourcePath = Lakehouse;Message = A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.);ErrorCode = -2146232060;Number = 10013

Nota

De uma perspetiva arquitetônica, o mecanismo de fluxo de dados usa um ponto de extremidade HTTPS (porta 443) de saída para gravar dados em um Lakehouse. No entanto, a leitura de dados do Lakehouse requer o uso do protocolo TDS (TCP sobre a porta 1433). Este protocolo é utilizado para copiar os dados da casa do lago de preparo para o destino dos dados. Isso explica por que a etapa Carregamento de tabelas é bem-sucedida enquanto a atividade de destino de dados falha, mesmo quando ambas as casas de lago estão na mesma instância OneLake.

Resolução de Problemas

Para resolver o problema, siga estes passos:

  1. Confirme se o fluxo de dados está configurado com um destino de dados.

    Captura de ecrã do editor do Power Query com o destino de dados Lakehouse realçado.

  2. Verifique se a atualização do fluxo de dados falha, com a atualização de tabelas mostrando como "Bem-sucedida" e as atividades mostrando como "Falha".

    Captura de tela dos detalhes do fluxo de dados com tabelas mostrando as atividades bem-sucedidas e as atividades com falha.

  3. Revise os detalhes do erro para a Atividade WriteToDatabaseTableFrom_..., que fornece informações sobre o erro encontrado.

    Captura de tela da atividade WriteToDatabaseTablefrom mostrando a mensagem de erro.

Solução: defina novas regras de firewall no servidor que executa o gateway

As regras de firewall no servidor gateway e/ou nos servidores proxy do cliente precisam ser atualizadas para permitir o tráfego de saída do servidor gateway para os pontos de extremidade abaixo. Se o firewall não oferecer suporte a curingas, use os endereços IP dos Intervalos de IP e Tags de Serviço do Azure. Observe que eles precisarão ser mantidos em sincronia a cada mês.

  • Protocolo: TCP
  • Parâmetros de avaliação: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
  • Porta: 1433

Nota

Em determinados cenários, especialmente quando a capacidade está localizada em uma região que não é a mais próxima do Gateway, pode ser necessário configurar o firewall para permitir o acesso a vários pontos de extremidade(*cloudapp.azure.com). Esse ajuste é necessário para acomodar redirecionamentos que possam ocorrer nessas condições. Se o tráfego destinado a *.cloudapp.azure.com não for intercetado pela regra, você pode, alternativamente, permitir os endereços IP para sua região de dados em seu firewall.

Se você quiser restringir o escopo do ponto de extremidade para a instância real do OneLake em um espaço de trabalho (em vez do curinga *.datawarehouse.pbidedicated.windows.net), essa URL pode ser encontrada navegando até o espaço de trabalho Malha, localizando DataflowsStagingLakehousee selecionando Exibir detalhes. Em seguida, copie e cole a cadeia de conexão SQL.

Captura de tela do espaço de trabalho Malha com DataflowsStagingLakehouse, com as reticências selecionadas e a opção Exibir detalhes enfatizada.

Captura de tela das informações detalhadas do DataflowsStagingLakehouse, com a cadeia de conexão SQL enfatizada.

O nome do ponto de extremidade inteiro é semelhante ao exemplo a seguir:

x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net

Solução alternativa: divida o fluxo de dados em uma ingestão separada e carregue o fluxo de dados

Se não conseguir atualizar as regras de firewall, você poderá dividir o fluxo de dados em dois fluxos de dados separados. O primeiro fluxo de dados é responsável por ingerir os dados na casa do lago de preparação. O segundo fluxo de dados é responsável por carregar os dados da casa do lago de preparo para o destino dos dados. Essa solução alternativa não é ideal, pois requer o uso de dois fluxos de dados separados, mas pode ser usada como uma solução temporária até que as regras de firewall possam ser atualizadas.

Para implementar esta solução alternativa, siga estes passos:

  1. Remova o destino de dados do seu fluxo de dados atual que ingere dados por meio do gateway.

    Captura de ecrã do editor do Power Query com o destino dos dados Lakehouse a ser removido.

  2. Crie um novo fluxo de dados que use o conector de fluxo de dados para se conectar ao fluxo de dados de ingestão. Esse fluxo de dados é responsável por ingerir os dados do preparo para o destino dos dados.

    Captura de ecrã do editor do Power Query com a opção Obter Dados selecionada e a opção Conector de fluxo de dados realçada.

    Captura de tela da caixa de diálogo Obter dados com a opção Conector de fluxo de dados selecionada.

  3. Defina o destino de dados como o destino de dados de sua escolha para esse novo fluxo de dados.

    Captura de ecrã do editor do Power Query com o destino de dados Lakehouse a ser definido.

  4. Opcionalmente, você pode desabilitar o preparo para esse novo fluxo de dados. Essa alteração impede que os dados sejam copiados para a casa do lago de preparo novamente e, em vez disso, copia os dados diretamente do fluxo de dados de ingestão para o destino dos dados.

    Captura de ecrã do editor do Power Query com a opção de preparo desativada.