Considerazioni sul gateway dati locale per le destinazioni dati in Dataflow Gen2
Questo articolo tenta di elencare le limitazioni e le precauzioni relative all'uso del gateway dati con scenari di destinazioni dati in Dataflow Gen2.
Timeout della valutazione
I flussi di dati che usano un gateway e la funzionalità di percorso dei dati hanno una limitazione temporale per la valutazione o l'aggiornamento pari a un'ora.
Per altre informazioni su questa limitazione, si veda l'articolo Risolvere i problemi relativi al gateway dati locale.
Problemi di rete con la porta 1433
Se si usa Microsoft Fabric Dataflow Gen2 con un gateway dati locale, è possibile che si verifichino problemi con il processo di aggiornamento del flusso di dati. Il problema sottostante si verifica quando il gateway non è in grado di connettersi al alla gestione temporanea del flusso di dati in Lakehouse per leggere i dati prima di copiarli nella destinazione dati desiderata. Questo problema può verificarsi indipendentemente dal tipo di destinazione dati utilizzata.
Durante l'aggiornamento complessivo del flusso di dati, l'aggiornamento delle tabelle può essere visualizzato come "Operazione riuscita", ma la sezione delle attività viene visualizzata come "Operazione non riuscita". I dettagli dell'errore per l'attività WriteToDatabaseTableFrom_...
indicano il seguente errore:
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
Dal punto di vista dell'architettura, il motore del flusso di dati usa un endpoint HTTPS in uscita (porta 443) per scrivere dati in un Lakehouse. Tuttavia, la lettura dei dati da Lakehouse richiede l'utilizzo del protocollo TDS (TCP sulla porta 1433). Questo protocollo viene utilizzato per copiare i dati dal lakehouse di gestione temporanea alla destinazione dei dati. Questo spiega perché il passaggio Caricamento tabelle ha esito positivo mentre l'attività di destinazione dati ha esito negativo, anche quando entrambi i lakehouse si trovano nella stessa istanza di OneLake.
Risoluzione dei problemi
Per risolvere questo problema, attenersi alla procedura seguente:
Controllare che il flusso di dati sia configurato con una destinazione dati.
Controllare che l'aggiornamento del flusso di dati abbia esito negativo, con l'aggiornamento delle tabelle che viene visualizzato come "Operazione riuscita" e le attività vengono visualizzate come "Operazione non riuscita".
Esaminare i dettagli del messaggio di errore per l'attività
WriteToDatabaseTableFrom_...
, che fornisce informazioni sull'errore rilevato.
Soluzione: impostare nuove regole del firewall nel server che esegue il gateway
Le regole del firewall nel server gateway e/o nei server proxy del cliente devono essere aggiornate per consentire il traffico in uscita dal server gateway agli endpoint seguenti. Se il firewall non supporta i caratteri jolly, usare gli indirizzi IP degli intervalli IP di Azure e i tag di servizio. Si noti che dovranno essere mantenuti sincronizzati ogni mese.
- Protocollo: TCP
- Endpoint: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
- Porta: 1433
Nota
In alcuni scenari, in particolare quando la capacità si trova in un'area non vicinissima al gateway, potrebbe essere necessario configurare il firewall per consentire l'accesso a più endpoint (*cloudapp.azure.com). Questa rettifica è necessaria per supportare i reindirizzamenti che possono verificarsi in queste condizioni. Se il traffico destinato a *.cloudapp.azure.com non viene intercettato dalla regola, in alternativa è possibile consentire gli indirizzi IP per l'area dati nel firewall.
Se si vuole restringere l'ambito dell'endpoint all'istanza OneLake effettiva di un'area di lavoro ( anziché utilizzare il carattere jolly *.datawarehouse.pbidedicated.windows.net), l'URL può essere trovato navigando nell'area di lavoro Fabric, individuando DataflowsStagingLakehouse
e selezionando Visualizza dettagli. Poi, copiare e incollare la stringa di connessione SQL.
Il nome dell’endpoint sarà simile all'esempio seguente:
x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net
Soluzione alternativa: suddividere il flusso di dati in un inserimento separato e caricare il flusso di dati
Se non è possibile aggiornare le regole del firewall, si può suddividere il flusso di dati in due flussi di dati separati. Il primo flusso di dati è responsabile dell'inserimento dei dati nel lakehouse gestione temporanea. Il secondo flusso di dati è responsabile del caricamento dei dati dal lakehouse di gestione temporanea nella destinazione dati. Questa soluzione alternativa non è ottimale, perché richiede l'uso di due flussi di dati separati, ma può essere usata come soluzione temporanea fino a quando non sia possibile aggiornare le regole del firewall.
Per implementare la soluzione alternativa, seguire questa procedura:
Rimuovere la destinazione dei dati dall'attuale flusso di dati che immette i dati attraverso il gateway.
Creare un nuovo flusso di dati che utilizza il connettore del flusso di dati per connettersi al flusso di dati di inserimento. Questo flusso di dati è responsabile dell’inserimento dei dati dalla gestione temporanea nella destinazione dati.
Impostare la destinazione dati come destinazione desiderata per questo nuovo flusso di dati.
Facoltativamente, è possibile disabilitare la gestione temporanea per questo nuovo flusso di dati. Questa modifica impedisce di copiare nuovamente i dati nel lakehouse di gestione temporanea e copia i dati direttamente dal flusso di dati di inserimento alla destinazione dati.