Поделиться через


Рекомендации по локально размещенным шлюзам данных для целевых мест данных в Dataflow второго поколения

В этой статье перечислены ограничения и рекомендации при использовании шлюза данных с сценариями назначения данных в потоке данных 2-го поколения.

Проблемы с сетью с портом 1433

При использовании Потока данных Microsoft Fabric 2-го поколения с локальным шлюзом данных могут возникнуть проблемы с процессом обновления потока данных. Основная проблема возникает, когда шлюз не может подключиться к промежуточному потоку данных Lakehouse, чтобы считывать данные перед копированием в нужное место назначения данных. Эта проблема может возникать независимо от типа используемого назначения данных.

Во время общего обновления потока данных обновление таблиц может отображаться как "Успешно", но в разделе действий отображается сообщение "Сбой". Сведения об ошибке WriteToDatabaseTableFrom_... действия указывают на следующую ошибку:

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

Примечание.

С точки зрения архитектуры подсистема потоков данных использует исходящую конечную точку HTTPS (порт 443) для записи данных в Lakehouse. Однако для чтения данных из Lakehouse требуется использование протокола TDS (TCP через порт 1433). Этот протокол используется для копирования данных из промежуточного озера в место назначения данных. Это объясняет, почему этап загрузки таблиц завершается успешно, в то время как операция назначения данных завершается сбоем, даже если оба озера данных находятся в одном экземпляре OneLake.

Устранение неполадок

Чтобы устранить эту проблему, сделайте следующее:

  1. Убедитесь, что поток данных настроен для ожидаемого назначения.

    Снимок экрана редактора Power Query с выделенным местом назначения данных Lakehouse.

  2. Убедитесь, что обновление потока данных завершается ошибкой, и при этом обновление таблиц отображается как "Успешно", а выполнение действий как "Сбой".

    Снимок экрана: сведения о потоке данных с таблицами, показывающими успешное выполнение и сбой действий.

  3. Просмотрите сведения об ошибке для действия WriteToDatabaseTableFrom_..., предоставляющего сведения об обнаруженной ошибке.

    Снимок экрана: действие WriteToDatabaseTablefrom с сообщением об ошибке.

Решение. Настройка новых правил брандмауэра на сервере под управлением шлюза

Правила брандмауэра на сервере шлюза и (или) прокси-серверах клиента необходимо обновить, чтобы разрешить исходящий трафик с сервера шлюза на указанные ниже конечные точки. Если брандмауэр не поддерживает подстановочные знаки, используйте IP-адреса из диапазонов IP-адресов Azure и тегов служб. Они должны оставаться синхронизированными каждый месяц.

  • Протокол: TCP
  • Конечные точки: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
  • Порт: 1433

Примечание.

В некоторых сценариях, особенно если емкость находится в регионе, который не является ближайшим к шлюзу, может потребоваться настроить брандмауэр, чтобы разрешить доступ к нескольким конечным точкам (*cloudapp.azure.com). Эта корректировка необходима для учета перенаправлений, которые могут возникнуть в этих обстоятельствах. Если трафик, предназначенный для *.cloudapp.azure.com, не перехватывается правилом, вы можете разрешить IP-адреса для вашего региона данных в брандмауэре.

Если вы хотите сузить область конечной точки до фактического экземпляра OneLake в рабочей области (вместо подстановочного знака *.datawarehouse.pbidedicated.windows.net), этот URL-адрес можно найти, перейдя к рабочей области Fabric, найдите DataflowsStagingLakehouse и выберите Просмотр сведений. Затем скопируйте и вставьте строка подключения SQL.

Снимок экрана рабочей области Fabric с DataflowsStagingLakehouse, где выбрано многоточие и выделен параметр

Снимок экрана сведений о DataflowsStagingLakehouse с выделенной строкой подключения SQL.

Имя всей конечной точки выглядит примерно так:

x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net

Обходное решение: Разделите поток данных на отдельные этапы: прием и загрузку.

Если не удается обновить правила брандмауэра, можно разделить поток данных на два отдельных потока данных. Первый поток данных отвечает за прием данных в промежуточное озеро. Вторая часть потока данных отвечает за перемещение информации из промежуточного склада данных в целевую систему. Это решение не идеально подходит, так как требуется использовать два отдельных потока данных, но его можно использовать в качестве временного решения, пока не будут обновлены правила брандмауэра.

Чтобы реализовать это обходное решение, выполните следующие действия.

  1. Удалите место назначения данных из текущего потока обработки данных, который принимает данные через ваш шлюз.

    Снимок экрана редактора Power Query с процессом удаления назначения данных Lakehouse.

  2. Создайте новый поток данных, используя соединитель потока данных для подключения к ингестированному потоку данных. Этот поток данных отвечает за передачу данных из промежуточного хранения в целевое хранилище данных.

    Снимок экрана редактора Power Query с выбранным параметром

    Снимок экрана: диалоговое окно

  3. Задайте назначение данных в качестве назначения данных, выбранного для этого нового потока данных.

    Снимок экрана редактора Power Query с заданным назначением данных Lakehouse.

  4. При необходимости можно отключить промежуточное хранение для этого нового потока данных. Это изменение предотвращает копирование данных в промежуточное хранилище lakehouse и вместо этого копирует данные непосредственно из интегрированного потока данных в конечное место назначения данных.

    Снимок экрана редактора Power Query с отключенным параметром промежуточного хранения.