Lokale vurderinger for datagateway for datamål i Dataflyt gen2
Denne artikkelen prøver å vise begrensningene og vurderingene når du bruker datagatewayen med datamålscenarioer i Dataflyt gen2.
Evalueringstidsavbrudd
Dataflyter som bruker en gateway og datamålfunksjonen, er begrenset til en evaluerings- eller oppdateringstid på én time.
Mer informasjon om denne begrensningen fra artikkelen om Feilsøk den lokale datagatewayartikkelen.
Nettverksproblemer med port 1433
Når du bruker Microsoft Fabric Dataflow Gen2 med en lokal datagateway, kan det oppstå problemer med oppdateringsprosessen for dataflyten. Det underliggende problemet oppstår når gatewayen ikke kan koble til dataflytoppsamlingen Lakehouse for å kunne lese dataene før du kopierer dem til ønsket datamål. Dette problemet kan oppstå uavhengig av hvilken type datamål som brukes.
Under den generelle dataflytoppdateringen kan tabelloppdateringen vises som «Vellykket», men aktivitetsdelen vises som «Mislykket». Feildetaljene for aktiviteten WriteToDatabaseTableFrom_...
angir følgende feil:
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
Merk
Fra et arkitektonisk perspektiv bruker dataflytmotoren et utgående HTTPS -endepunkt (port 443) til å skrive data inn i et Lakehouse. Lesing av data fra Lakehouse krever imidlertid bruk av TDS-protokollen (TCP over port 1433). Denne protokollen brukes til å kopiere dataene fra oppsamlingssjøen til datamålet. Dette forklarer hvorfor trinnet For innlasting av tabeller lykkes mens datamålaktiviteten mislykkes, selv når begge lakehouses er i samme OneLake-forekomst.
Feilsøking
Følg disse trinnene for å feilsøke problemet:
Bekreft at dataflyten er konfigurert med et datamål.
Kontroller at oppdateringen av dataflyten mislykkes, der tabelloppdatering vises som «Vellykket» og aktiviteter som vises som «Mislykket».
Se gjennom feildetaljene for aktiviteten
WriteToDatabaseTableFrom_...
, som gir informasjon om feilen som oppstod.
Løsning: Angi nye brannmurregler på serveren som kjører gatewayen
Brannmurreglene på gatewayserveren og/eller kundens proxy-servere må oppdateres for å tillate utgående trafikk fra gatewayserveren til endepunktene nedenfor. Hvis brannmuren ikke støtter jokertegn, kan du bruke IP-adressene fra Azure IP-områder og servicekoder. De må holdes synkronisert hver måned.
- Protokoll: TCP
- Endepunkter: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
- Port: 1433
Merk
I enkelte scenarioer, spesielt når kapasiteten er plassert i et område som ikke er nærmest gatewayen, kan det være nødvendig å konfigurere brannmuren for å gi tilgang til flere endepunkter (*cloudapp.azure.com). Denne justeringen kreves for å imøtekomme omadresseringer som kan forekomme under disse betingelsene. Hvis trafikken som er bestemt til å *.cloudapp.azure.com ikke fanges opp av regelen, kan du alternativt tillate IP-adressene for dataområdet i brannmuren.
Hvis du vil begrense omfanget av endepunktet til den faktiske OneLake-forekomsten i et arbeidsområde (i stedet for jokertegnet *.datawarehouse.pbidedicated.windows.net), finner du nettadressen ved å navigere til Fabric-arbeidsområdet, finne DataflowsStagingLakehouse
og velge Vis detaljer. Deretter kopierer og limer du inn SQL-tilkoblingsstreng.
Hele endepunktnavnet ligner på følgende eksempel:
x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net
Løsning: Dele dataflyt i et separat inninntak og laste inn dataflyt
Hvis du ikke kan oppdatere brannmurreglene, kan du dele dataflyten i to separate dataflyter. Den første dataflyten er ansvarlig for å innta dataene i oppsamlingssjøen. Den andre dataflyten er ansvarlig for å laste inn dataene fra oppsamlingsvannhuset til datamålet. Denne løsningen er ikke ideell, da den krever bruk av to separate dataflyter, men den kan brukes som en midlertidig løsning til brannmurreglene kan oppdateres.
Følg disse trinnene for å implementere denne midlertidige løsningen:
Fjern datamålet fra den gjeldende dataflyten som inntar data via gatewayen.
Opprett en ny dataflyt som bruker dataflytkoblingen til å koble til den inntatte dataflyten. Denne dataflyten er ansvarlig for å innta dataene fra å sette seg inn i datamålet.
Angi at datamålet skal være det foretrukne datamålet for denne nye dataflyten.
Du kan eventuelt deaktivere oppsamling for denne nye dataflyten. Denne endringen hindrer at dataene kopieres til oppsamlingssjøen på nytt, og kopierer i stedet dataene direkte fra den inntatte dataflyten til datamålet.