Considerações sobre o gateway de dados no local para destinos de dados no Dataflow Gen2
Este artigo tenta listar as limitações e considerações ao usar o Gateway de Dados com cenários de destinos de dados no Fluxo de Dados 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 staging 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 "Êxito", mas a seção de atividades é exibida como "Falha". Os detalhes do erro da 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
Observação
Do ponto de vista arquitetônico, o mecanismo de fluxo de dados usa um ponto de extremidade HTTPS de saída (porta 443) para gravar dados em um Lakehouse. Porém, a leitura de dados do Lakehouse requer o uso do protocolo TDS (TCP pela porta 1433). Esse protocolo é usado para copiar os dados do lakehouse de preparo no destino dos dados. Isso explica por que a etapa Carregamento de Tabelas é bem-sucedida enquanto a atividade de destino de dados falha, mesmo quando ambos os lakehouses estão na mesma instância do OneLake.
Solução de problemas
Para solucionar o problema, siga estas etapas:
Confirme se o fluxo de dados está configurado com um destino de dados.
Verifique se a atualização do fluxo de dados falha, com a atualização de tabelas sendo exibida como "Êxito" e as atividades exibidas como "Falha".
Examine os detalhes do erro da Atividade
WriteToDatabaseTableFrom_...
, que fornece informações sobre o erro encontrado.
Solução: definir novas regras de firewall no servidor que executa o gateway
As regras de firewall no servidor de gateway e/ou nos servidores proxy do cliente precisam ser atualizadas para permitir o tráfego de saída do servidor de gateway para os pontos de extremidade abaixo. Se o firewall não der suporte a curingas, utilize os endereços IP de Intervalos de IP e marcas de Serviço do Azure. Observe que eles precisarão ser mantidos em sincronia todos os meses.
- Protocolo: TCP
- Pontos de extremidade: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
- Porta: 1433
Observação
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 podem ocorrer nessas condições. Se o tráfego destinado a *.cloudapp.azure.com não for interceptado pela regra, você pode, alternativamente, permitir os endereços IP para sua região de dados no firewall.
Se você quiser restringir o escopo do ponto de extremidade à instância real do OneLake em um espaço de trabalho (em vez do coringa *.datawarehouse.pbidedicated.windows.net), essa URL pode ser encontrada navegando até o espaço de trabalho Fabric, localizando DataflowsStagingLakehouse
, e selecionando Exibir Detalhes. Em seguida, copie e cole a cadeia de conexão SQL.
O nome completo do ponto de extremidade é semelhante ao exemplo a seguir:
x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net
Solução alternativa: dividir o fluxo de dados em um fluxo de dados separado para ingerir e carregar
Se não for possível atualizar as regras do firewall, você pode dividir o fluxo de dados em dois fluxos de dados separados. O primeiro fluxo de dados é responsável por ingerir os dados no seu Lakehouse de preparo. O segundo fluxo de dados é responsável por carregar os dados do lakehouse de preparo para o destino dos dados. Essa solução alternativa não é ideal, pois exige o uso de dois fluxos de dados separados, mas pode ser utilizada como uma solução temporária até que as regras do firewall possam ser atualizadas.
Para implementar essa solução alternativa, siga estas etapas:
Remova o destino dos dados do seu fluxo de dados atual que ingerem dados através do seu gateway.
Crie um novo fluxo de dados que utilize o conector de fluxo de dados para conectar-se ao fluxo de dados de ingestão. Esse fluxo de dados é responsável pela ingestão de dados do preparo para o destino dos dados.
Defina o destino de dados que será o destino de dados de sua escolha para esse novo fluxo de dados.
Opcionalmente, você pode desabilitar o processo de preparo para esse novo fluxo de dados. Essa alteração evita que os dados sejam copiados novamente para o Lakehouse de preparo e, em vez disso, copia os dados diretamente do fluxo de dados ingerido para o destino dos dados.