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


Сочетания клавиш OneLake

Сочетания клавиш в Microsoft OneLake позволяют объединить данные между доменами, облаками и учетными записями, создав одно виртуальное озеро данных для всего предприятия. Все интерфейсы Fabric и аналитические подсистемы могут напрямую подключаться к существующим источникам данных, таким как Azure, Amazon Web Services (AWS) и OneLake через единое пространство имен. OneLake управляет всеми разрешениями и учетными данными, поэтому вам не нужно отдельно настраивать каждую рабочую нагрузку Fabric для подключения к каждому источнику данных. Кроме того, можно использовать сочетания клавиш для устранения пограничных копий данных и уменьшения задержки процесса, связанной с копиями данных и промежуточной средой.

Что такое ярлыки?

Ярлыки — это объекты в OneLake, указывающие на другие расположения хранилища. Расположение может быть внутренним или внешним для OneLake. Расположение, на которое указывает ярлык, называется целевым путем ярлыка. Расположение, в котором отображается ярлык, называется ярлыком. Ярлыки отображаются как папки в OneLake, а также любые рабочие нагрузки или службы, имеющие доступ к OneLake, могут использовать их. Сочетания клавиш ведут себя как символьные ссылки. Он является независимым объектом от целевого объекта. При удалении ярлыка целевой объект остается небезопасным. При перемещении, переименовании или удалении целевого пути ярлык может нарушиться.

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

Где можно создать ярлыки?

Ярлыки можно создавать в лейкхаусах и базах данных язык запросов Kusto (KQL). Кроме того, ярлыки, созданные в этих элементах, могут указывать на другие расположения OneLake, Azure Data Lake Storage (ADLS) 2-го поколения, учетные записи хранения Amazon S3 или Dataverse. Вы даже можете создавать ярлыки в локальных или сетевых расположениях с использованием локального шлюза данных Fabric (OPDG).

Пользовательский интерфейс Fabric можно использовать для интерактивного создания ярлыков и использовать REST API для программного создания ярлыков.

Гибридное решение "хранилище и озеро данных"

При создании ярлыков в lakehouse необходимо понять структуру папок элемента. Lakehouses состоит из двух папок верхнего уровня: папки "Таблицы " и папки "Файлы ". Папка "Таблицы" представляет управляемую часть озера, а папка "Файлы " является неуправляемой частью lakehouse. В папке "Таблицы" можно создавать ярлыки только на верхнем уровне. Ярлыки не поддерживаются в других подкаталогах папки "Таблицы ". Если целевой объект ярлыка содержит данные в формате Delta\Parquet, lakehouse автоматически синхронизирует метаданные и распознает папку как таблицу. В папке "Файлы" нет ограничений на создание ярлыков. Их можно создать на любом уровне иерархии папок. Обнаружение таблиц не происходит в папке "Файлы ".

Схема, показывающая представление Lake и представление таблицы параллельно.

База данных KQL

При создании ярлыка в базе данных KQL он отображается в папке "Ярлыки " базы данных. База данных KQL обрабатывает такие сочетания клавиш, как внешние таблицы. Чтобы запросить ярлык, используйте external_table функцию язык запросов Kusto.

Снимок экрана: ярлыки в базе данных KQL.

Где можно получить доступ к ярлыкам?

Любые службы Fabric или не-Fabric, которые могут получить доступ к данным в OneLake, могут использовать сочетания клавиш. Ярлыки прозрачны для любой службы, обращаюющейся к данным через API OneLake. Ярлыки отображаются как другая папка в озере. Apache Spark, SQL, Аналитика в режиме реального времени и службы Analysis Services могут использовать сочетания клавиш при запросе данных.

Apache Spark

Записные книжки Apache Spark и задания Apache Spark могут использовать сочетания клавиш, создаваемые в OneLake. Относительные пути к файлам можно использовать для непосредственного чтения данных из сочетаний клавиш. Кроме того, если вы создаете ярлык в разделе "Таблицы " озера и находится в разностном формате, его можно прочитать как управляемую таблицу с помощью синтаксиса Apache Spark SQL.

df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)

Примечание.

Формат Delta не поддерживает таблицы с пробелами в имени. Любое сочетание клавиш, содержащее пробел в имени, не будет обнаружено в виде таблицы Delta в lakehouse.

SQL

Вы также можете прочитать ярлыки в разделе "Таблицы " озера через конечную точку аналитики SQL для lakehouse. Вы можете получить доступ к конечной точке аналитики SQL с помощью селектора режима озера или sql Server Management Studio (SSMS).

SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]

Аналитика в режиме реального времени

Ярлыки в базах данных KQL распознаются как внешние таблицы. Чтобы запросить ярлык, используйте external_table функцию язык запросов Kusto.

external_table('MyShortcut')
| take 100

Службы Analysis Services

Вы можете создать семантические модели для озерных домов, содержащих ярлыки в разделе таблиц озера. При запуске семантической модели в режиме Direct Lake службы Analysis Services могут считывать данные непосредственно из ярлыка.

Non-Fabric

Приложения и службы за пределами Fabric также могут получить доступ к ярлыкам через API OneLake. OneLake поддерживает подмножество API adLS 2-го поколения и хранилища BLOB-объектов. Дополнительные сведения об API OneLake см. в статье OneLake access with API.

https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv

Типы сочетаний клавиш

Сочетания клавиш OneLake поддерживают несколько источников данных файловой системы. К ним относятся внутренние расположения OneLake, Azure Data Lake Storage (ADLS) 2-го поколения, Amazon S3, совместимость S3, Google Cloud Storage(GCS) и Dataverse.

Внутренние сочетания клавиш OneLake

Внутренние сочетания клавиш OneLake позволяют ссылаться на данные в существующих элементах Fabric. К этим элементам относятся озера, базы данных KQL и хранилища данных. Ярлык может указывать на расположение папки в одном элементе, между элементами в одной рабочей области или даже между элементами в разных рабочих областях. При создании ярлыка между элементами типы элементов не должны соответствовать. Например, можно создать ярлык в лейкхаусе, который указывает на данные в хранилище данных.

Когда пользователь обращается к данным через ярлык к другому расположению OneLake, удостоверение вызывающего пользователя используется для авторизации доступа к данным в целевом пути ярлыка*. Этот пользователь должен иметь разрешения в целевом расположении для чтения данных.

Внимание

При доступе к сочетаниям клавиш через семантические модели Power BI или T-SQL удостоверение вызывающего пользователя не передается в целевой объект ярлыка. Вместо этого передается удостоверение владельца вызывающего элемента, делегируя доступ к вызывающму пользователю.

Сочетания клавиш ADLS

Сочетания клавиш также можно создать в учетных записях хранения ADLS 2-го поколения. При создании ярлыков в ADLS целевой путь может указывать на любую папку в иерархическом пространстве имен. Как минимум, целевой путь должен содержать имя контейнера.

Открыть

Сочетания клавиш ADLS должны указывать на конечную точку DFS для учетной записи хранения. Пример: https://accountname.dfs.core.windows.net/

Если учетная запись хранения защищена брандмауэром хранилища, можно настроить доступ к доверенной службе. См. раздел "Доверенный доступ к рабочей области"

Авторизация

Сочетания клавиш ADLS используют делегированную модель авторизации. В этой модели создатель ярлыка указывает учетные данные для ярлыка ADLS, а доступ к этому ярлыку разрешен с помощью этих учетных данных. Поддерживаемые делегированные типы : учетная запись организации, ключ учетной записи, подписанный URL-адрес (SAS) и субъект-служба.

  • Учетная запись организации должна иметь роль "Читатель данных BLOB-объектов хранилища", "Участник данных BLOB-объектов хранилища" или "Владелец данных BLOB-объектов хранилища" в учетной записи хранения
  • Подписанный URL-адрес (SAS) должен включать по крайней мере следующие разрешения: чтение, список и выполнение.
  • Субъект-служба — должен иметь роль "Читатель данных BLOB-объектов хранилища", "Участник данных BLOB-объектов хранилища" или "Владелец данных BLOB-объектов хранилища" в учетной записи хранения
  • Удостоверение рабочей области— должно иметь роль "Читатель данных BLOB-объектов хранилища", "Участник данных BLOB-объектов хранилища" или "Владелец данных BLOB-объектов хранилища" в учетной записи хранения

Примечание.

Необходимо включить иерархические пространства имен в учетной записи хранения ADLS 2-го поколения.

Сочетания клавиш S3

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

Открыть

Сочетания клавиш S3 должны указывать на конечную точку https для контейнера S3.

Пример: https://bucketname.s3.region.amazonaws.com/

Примечание.

Отключить параметр общего доступа S3 для учетной записи S3 для ярлыка S3 для функции не требуется.

Доступ к конечной точке S3 не должен быть заблокирован брандмауэром хранилища или виртуальным частным облаком.

Авторизация

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

Пользователь IAM должен иметь следующие разрешения в контейнере, на который указывает ярлык.

  • S3:GetObject
  • S3:GetBucketLocation
  • S3:ListBucket

Примечание.

Сочетания клавиш S3 доступны только для чтения. Они не поддерживают операции записи независимо от разрешений для пользователя IAM.

Сочетания клавиш Google Cloud Storage

Ярлыки можно создать в Google Cloud Storage(GCS) с помощью XML-API для GCS. При создании ярлыков в Google Cloud Storage целевой путь должен содержать имя контейнера как минимум. Кроме того, можно ограничить область ярлыка, указав дополнительно префикс/папку, на которую нужно указать в иерархии хранилища.

Открыть

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

  • Пример глобальной конечной точки: https://storage.googleapis.com
  • Пример конкретной конечной точки контейнера: https://<BucketName>.storage.googleapis.com

Авторизация

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

Учетная запись должна иметь разрешение на доступ к данным в контейнере GCS. Если в соединении для ярлыка использовалась определенная конечная точка контейнера, учетная запись должна иметь следующие разрешения:

  • storage.objects.get
  • stoage.objects.list

Если глобальная конечная точка использовалась в соединении для ярлыка, учетная запись должна иметь следующее разрешение:

  • storage.buckets.list

Примечание.

Сочетания клавиш GCS доступны только для чтения. Они не поддерживают операции записи независимо от разрешений для используемой учетной записи.

Сочетания клавиш dataverse

Прямая интеграция Dataverse с Microsoft Fabric позволяет организациям расширить свои Dynamics 365 корпоративные приложения и бизнес-процессы в Fabric. Эта интеграция выполняется с помощью сочетаний клавиш, которые можно создать двумя способами: через портал PowerApps maker или через Fabric напрямую.

Создание ярлыков с помощью портала PowerApps Maker

Авторизованные пользователи PowerApps могут получить доступ к порталу разработчика PowerApps и использовать функцию Link to Microsoft Fabric . Из этого одного действия в Fabric создается Lakehouse, а ярлыки создаются автоматически для каждой таблицы в среде Dataverse. Дополнительные сведения см. в разделе "Прямая интеграция Dataverse с Microsoft Fabric".

Создание сочетаний клавиш с помощью Fabric

Пользователи Fabric также могут создавать ярлыки для Dataverse. В пользовательском интерфейсе создания ярлыков пользователи могут выбрать Dataverse, указать URL-адрес среды и просмотреть доступные таблицы. Этот интерфейс позволяет пользователям выборочно выбирать таблицы для входа в Fabric, а не добавлять во все таблицы.

Примечание.

Таблицы dataverse сначала должны быть доступны в Управляемом озере Dataverse, прежде чем они отображаются в интерфейсе создания сочетаний клавиш Fabric. Если таблицы не отображаются из Fabric, используйте функцию Link to Microsoft Fabric на портале PowerApps maker.

Авторизация

Сочетания клавиш Dataverse используют делегированную модель авторизации. В этой модели создатель ярлыка указывает учетные данные для ярлыка Dataverse, а доступ к этому ярлыку разрешен с помощью этих учетных данных. Поддерживаемый тип делегированных учетных данных — учетная запись организации (OAuth2). Учетная запись организации должна иметь разрешение системного администратора для доступа к данным в Dataverse Managed Lake.

Примечание.

Субъекты-службы, добавленные в рабочую область Fabric, должны иметь роль администратора для авторизации ярлыка Dataverse.

Кэширование

Кэширование ярлыков можно использовать для снижения затрат на исходящий трафик, связанных с доступом к данным между облаками. Так как файлы считываются через внешний ярлык, файлы хранятся в кэше рабочей области Fabric. Последующие запросы на чтение обслуживаются из кэша, а не от поставщика удаленного хранилища. Кэшированные файлы имеют период хранения 24 часа. Каждый раз, когда файл обращается к периоду хранения, сбрасывается. Если файл в поставщике удаленного хранилища более поздний, чем файл в кэше, запрос обслуживается у поставщика удаленного хранилища, а обновленный файл будет храниться в кэше. Если файл не был получен более 24 часов, он очищается из кэша. Отдельные файлы размером больше 1 ГБ не кэшируются.

Примечание.

Кэширование ярлыков в настоящее время поддерживается только для сочетаний клавиш, совместимых с GCS, S3 и S3.

Чтобы включить кэширование для сочетаний клавиш, откройте панель параметров рабочей области. Выберите вкладку OneLake . Переключите параметр кэша на "Вкл ." и нажмите кнопку "Сохранить".

Снимок экрана: панель параметров рабочей области с выбранной вкладкой OneLake.

Использование облачных подключений с помощью сочетаний клавиш

AdLS и авторизации сочетаний клавиш S3 делегируются с помощью облачных подключений. При создании нового ярлыка ADLS или S3 необходимо создать новое подключение или выбрать существующее подключение для источника данных. Установка подключения для ярлыка — это операция привязки. Только пользователи с разрешением на подключение могут выполнять операцию привязки. Если у вас нет разрешений на подключение, вы не можете создать новые ярлыки с помощью этого подключения.

Безопасность ярлыков

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

Как сочетания клавиш обрабатывают удаление?

Сочетания клавиш не выполняют каскадные удаления. При выполнении операции удаления с ярлыком удаляется только объект ярлыка. Данные в целевом объекте ярлыка остаются неизменными. Однако при выполнении операции удаления в файле или папке в ярлыке у вас есть разрешения на выполнение операции удаления, файлы и папки удаляются в целевом объекте. Это показано в следующем примере.

Пример удаления

Пользователь A имеет lakehouse со следующим путем в нем:

MyLakehouse\Files\MyShortcut\Foo\Bar

MyShortcut — это ярлык, указывающий на учетную запись ADLS 2-го поколения, содержащую каталоги Foo\Bar .

Удаление ярлыка

Пользователь А выполняет операцию удаления по следующему пути:

MyLakehouse\Files\MyShortcut

В этом случае MyShortcut удаляется из озера. Ярлыки не выполняют каскадные удаления, поэтому файлы и каталоги в учетной записи ADLS 2-го поколения Foo\Bar остаются не затронутыми.

Удаление содержимого, на который ссылается ярлык

Пользователь А выполняет операцию удаления по следующему пути:

MyLakehouse\Files\MyShortcut\Foo\Bar

В этом случае, если пользователь A имеет разрешения на запись в учетной записи ADLS 2-го поколения, каталог линейчатой строки удаляется из учетной записи ADLS 2-го поколения.

Представление происхождения рабочей области

При создании сочетаний клавиш между несколькими элементами Fabric в рабочей области можно визуализировать сочетания связей с помощью представления происхождения рабочей области. Нажмите кнопку представления происхождения ( ) в правом верхнем углу обозревателя рабочей области.

Снимок экрана: экран представления происхождения.

Примечание.

Представление происхождения ограничивается одной рабочей областью. Ярлыки для расположений за пределами выбранной рабочей области не отображаются.

Рекомендации и ограничения

  • Максимальное количество сочетаний клавиш на элемент Fabric составляет 100 000. В этом контексте элемент термина относится к приложениям, озерам, складам, отчетам и т. д.
  • Максимальное количество сочетаний клавиш в одном пути OneLake — 10.
  • Максимальное количество прямых сочетаний клавиш для сочетаний клавиш составляет 5.
  • Пути к целевым путям ADLS и S3 не могут содержать зарезервированные символы из раздела RFC 3986 2.2. Допустимые символы см. в разделе RFC 3968 2.3.
  • Сочетания клавиш OneLake, родительские пути и целевые пути не могут содержать символы "%" или "+".
  • Сочетания клавиш не поддерживают символы, отличные от латиниц.
  • Копирование API BLOB-объектов не поддерживается для сочетаний клавиш ADLS или S3.
  • Функция копирования не работает над ярлыками, которые напрямую указывают на контейнеры ADLS. Рекомендуется создать ярлыки ADLS в каталоге, который находится по крайней мере на одном уровне под контейнером.
  • Дополнительные сочетания клавиш нельзя создать в ADLS или сочетаниях клавиш S3.
  • Происхождение ярлыков для хранилищ данных и семантических моделей в настоящее время недоступно.
  • Для распознавания новых ярлыков API таблиц может потребоваться до минуты.