Прочитать на английском

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


Подключение к Microsoft OneLake

Microsoft OneLake предоставляет открытый доступ ко всем элементам Fabric с помощью существующих API-интерфейсов Azure Data Lake Storage (ADLS) 2-го поколения и пакетов SDK. Вы можете получить доступ к данным в OneLake с помощью любого API, пакета SDK или средства, совместимого с ADLS 2-го поколения, только с помощью URI OneLake. Вы можете передать данные в lakehouse через обозреватель служба хранилища Azure или прочитать разностную таблицу с помощью ярлыка из Azure Databricks.

Так как OneLake является программным обеспечением как услуга (SaaS), некоторые операции, такие как управление разрешениями или обновление элементов, должны выполняться с помощью интерфейсов Fabric вместо API ADLS 2-го поколения. Полный список изменений в этих API см. в разделе "Четность API OneLake".

Синтаксис URI

Так как OneLake существует во всем клиенте Microsoft Fabric, вы можете ссылаться на все, что находится в клиенте по своей рабочей области, элементу и пути:

https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<itemtype>/<path>/<fileName>

Примечание

Так как можно повторно использовать имена элементов в нескольких типах элементов, необходимо указать тип элемента в расширении. Например, .lakehouse для озера и .datawarehouse для склада.

OneLake также поддерживает ссылки на рабочие области и элементы с глобальными уникальными идентификаторами (GUID). OneLake назначает идентификаторы GUID и идентификаторы GUID не изменяются, даже если имя рабочей области или элемента изменяется. На портале Fabric можно найти связанный GUID для рабочей области или элемента в URL-адресе. Идентификаторы GUID необходимо использовать как для рабочей области, так и для элемента, и не требуется тип элемента.

https://onelake.dfs.fabric.microsoft.com/<workspaceGUID>/<itemGUID>/<path>/<fileName>

При внедрении средства для использования над OneLake вместо ADLS 2-го поколения используйте следующее сопоставление:

  • Имя учетной записи всегда onelake.
  • Имя контейнера — это имя рабочей области.
  • Путь к данным начинается с элемента. Например: /mylakehouse.lakehouse/Files/.

OneLake также поддерживает драйвер файловой системы BLOB-объектов Azure (ABFS) для обеспечения большей совместимости с ADLS 2-го поколения и Хранилище BLOB-объектов Azure. Драйвер ABFS использует собственный идентификатор abfs схемы и другой формат URI для обращения к файлам и каталогам в учетных записях ADLS 2-го поколения. Чтобы использовать этот формат URI для OneLake, переключите рабочую область для файловой системы и включите тип элемента и элемента.

abfs[s]://<workspace>@onelake.dfs.fabric.microsoft.com/<item>.<itemtype>/<path>/<fileName>

URI драйвера abfs не разрешает специальные символы, например пробелы, в имени рабочей области. В этих случаях можно ссылаться на рабочие области и элементы с глобальными уникальными идентификаторами (GUID), как описано ранее в этом разделе.

Авторизация

Вы можете пройти проверку подлинности API OneLake с помощью идентификатора Microsoft Entra, передав заголовок авторизации. Если средство поддерживает вход в учетную запись Azure для включения сквозного руководства маркера, можно выбрать любую подписку. OneLake требует только маркер пользователя и не заботится о подписке Azure.

При вызове OneLake через API-интерфейсы DFS напрямую можно пройти проверку подлинности с помощью маркера носителя для учетной записи Microsoft Entra. Дополнительные сведения о запросе маркеров носителя и управлении ими для вашей организации см. в библиотеке проверки подлинности Майкрософт.

Для быстрого нерегламентированного тестирования OneLake с помощью прямых вызовов API вот простой пример использования PowerShell для входа в учетную запись Azure, получения маркера с областью хранения и его копирования в буфер обмена для простого использования в другом месте. Дополнительные сведения о получении маркеров доступа с помощью PowerShell см. в разделе Get-AzAccessToken.

Примечание

OneLake поддерживает только маркеры в Storage аудитории. В следующем примере мы задали аудиторию с помощью ResourceTypeName параметра.

Connect-AzAccount
$testToken = Get-AzAccessToken -ResourceTypeName Storage
# Retrieved token is of string type which you can validate with the "$testToken.Token.GetTypeCode()" command.
$testToken.Token | Set-Clipboard

Место расположения данных

Если вы используете глобальную конечную точку ('https://onelake.dfs.fabric.microsoft.com) для запроса данных в регионе, отличном от региона рабочей области, существует вероятность того, что данные могут оставить регион во время процесса разрешения конечных точек. Если вы обеспокоены расположением данных, используя правильную региональную конечную точку для рабочей области, данные остаются в текущем регионе и не пересекают региональные границы. Вы можете обнаружить правильную региональную конечную точку, проверив регион емкости, к которому подключена рабочая область.

Региональные конечные точки OneLake соответствуют одному и тому же формату: https://<region>-onelake.dfs.fabric.microsoft.com Например, рабочая область, подключенная к емкости в регионе "Западная часть США", будет доступна через региональную конечную точку https://westus-onelake.dfs.fabric.microsoft.com.

Распространенные проблемы

Если средство или пакет, совместимый с ADLS 2-го поколения, не работает над OneLake, наиболее распространенной проблемой является проверка URL-адресов. Так как OneLake использует другую конечную точку (dfs.fabric.microsoft.com), чем ADLS 2-го поколения,dfs.core.windows.net некоторые средства не распознают конечную точку OneLake и блокируют ее. Некоторые средства позволяют использовать пользовательские конечные точки (например, PowerShell). В противном случае это часто простое исправление для добавления конечной точки OneLake в качестве поддерживаемой конечной точки. Если вы обнаружите проблему проверки URL-адреса или у вас возникли другие проблемы, связанные с подключением к OneLake, сообщите нам об этом.

Примеры

Создать файл

Запросить КЛАСТЬ https://onelake.dfs.fabric.microsoft.com/{workspace}/{item}.{itemtype}/Files/sample?resource=file
Заголовки Authorization: Bearer <userAADToken>
Response ResponseCode: 201 Created
Заголовки:
x-ms-version : 2021-06-08
x-ms-request-id : 272526c7-0995-4cc4-b04a-8ea3477bc67b
x-ms-content-crc64 : OAJ6r0dQWP0=
x-ms-request-server-encrypted : true
ETag : 0x8DA58EE365
Текст.