Accesos directos de OneLake
Los accesos directos de Microsoft OneLake permiten unificar los datos entre dominios, nubes y cuentas mediante la creación de un único lago de datos virtual para toda la empresa. Todas las experiencias de Fabric y los motores analíticos pueden conectarse directamente a los orígenes de datos existentes, como Azure, Amazon Web Services (AWS) y OneLake a través de un espacio de nombres unificado. OneLake administra todos los permisos y credenciales, por lo que no es necesario configurar por separado cada carga de trabajo de Fabric para conectarse a cada origen de datos. Además, puede usar accesos directos para eliminar copias perimetrales de datos y reducir la latencia del proceso asociada a copias de datos y almacenamiento provisional.
¿Qué son los accesos directos?
Los accesos directos son objetos de OneLake que apuntan a otras ubicaciones de almacenamiento. La ubicación puede ser interna o externa a OneLake. La ubicación a la que apunta un acceso directo se conoce como la ruta de acceso de destino del acceso directo. La ubicación en la que aparece el acceso directo se conoce como la ruta de acceso directo. Los accesos directos aparecen como carpetas en OneLake y cualquier carga de trabajo o servicio que tenga acceso a OneLake puede usarlos. Los accesos directos se comportan como vínculos simbólicos. Son un objeto independiente del destino. Si elimina un acceso directo, el destino no se ve afectado. Si mueve, cambia el nombre o elimina una ruta de acceso de destino, el acceso directo puede interrumpirse.
¿Dónde puedo crear accesos directos?
Puede crear accesos directos en los almacenes de lago y las bases de datos de Lenguaje de consulta Kusto (KQL). Además, los accesos directos que cree dentro de estos elementos pueden apuntar a otras ubicaciones de OneLake, Azure Data Lake Storage (ADLS) Gen2, cuentas de almacenamiento de Amazon S3 o Dataverse. Incluso puede crear accesos directos a ubicaciones locales o restringidas a la red con el uso de la puerta de enlace de datos locales de Fabric (OPDG).
Puede usar la interfaz de usuario de Fabric para crear combinaciones de teclas de forma interactiva y puede usar la API de REST para crear combinaciones de teclas mediante programación.
Lakehouse
Al crear accesos directos en un almacén de lago, es importante comprender la estructura de las carpetas del elemento. Los almacenes de lago se componen de dos carpetas de nivel superior: la carpeta Tablas y la carpeta Archivos. La carpeta Tablas representa la parte administrada del almacén de lago mientras que la carpeta Archivos es la parte no administrada del almacén de lago. En la carpeta Tablas, solo puede crear accesos directos en el nivel superior. Los accesos directos no se admiten en otros subdirectorios de la carpeta Tablas. Si el destino del acceso directo contiene datos en el formato Delta\Parquet, el almacén de lago sincroniza automáticamente los metadatos y reconoce la carpeta como una tabla. En la carpeta Archivos, no hay restricciones sobre dónde puede crear accesos directos. Puede crearlos en cualquier nivel de la jerarquía de carpetas. La detección de tablas no se produce en la carpeta Archivos.
Base de datos KQL
Al crear un acceso directo en una base de datos KQL, este aparece en la carpeta Accesos directos de la base de datos. La base de datos KQL trata accesos directos como tablas externas. Para consultar el acceso directo, use la función external_table
del Lenguaje de consulta Kusto.
¿Dónde puedo acceder a los accesos directos?
Cualquier servicio de Fabric o que no sea de Fabric que pueda acceder a los datos de OneLake puede usar los accesos directos. Los accesos directos son transparentes para cualquier servicio que acceda a los datos a través de la API de OneLake. Los accesos directos simplemente aparecen como otra carpeta en el lago. Apache Spark, SQL, Inteligencia en tiempo real y Analysis Services pueden usar los accesos directos al consultar datos.
Apache Spark
Los cuadernos de Apache Spark y los trabajos de Apache Spark pueden usar los accesos directos que cree en OneLake. Las rutas de acceso de archivo relativas se pueden usar para leer directamente los datos de los accesos directos. Además, si crea un acceso directo en la sección Tablas del almacén de lago y está en formato Delta, puede leerlo como una tabla administrada mediante la sintaxis de Apache Spark SQL.
df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)
Nota:
El formato Delta no admite tablas con caracteres de espacio en el nombre. Cualquier acceso directo que contenga un espacio en el nombre no se detectará como una tabla Delta en el almacén de lago.
SQL
También puede leer los accesos directos de la sección Tablas de un almacén de lago a través del punto de conexión análisis SQL para el almacén de lago. Puede acceder al punto de conexión análisis SQL mediante el selector de modo del almacén de lago o a través de SQL Server Management Studio (SSMS).
SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]
Inteligencia en tiempo real
Los accesos directos en las bases de datos KQL se reconocen como tablas externas. Para consultar el acceso directo, use la función external_table
del Lenguaje de consulta Kusto.
external_table('MyShortcut')
| take 100
Analysis Services
Puede crear modelos semánticos para los almacenes de lago que contienen accesos directos en la sección Tablas del almacén de lago. Cuando el modelo semántico se ejecuta en modo Direct Lake, Analysis Services puede leer datos directamente desde el acceso directo.
Fuera de Fabric
Las aplicaciones y los servicios fuera de Fabric también pueden acceder a accesos directos a través de OneLake API. OneLake admite un subconjunto de las API de ADLS Gen2 y Blob Storage. Para más información sobre la API de OneLake, consulte Acceso a OneLake con las API.
https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv
Tipos de accesos directos
Los accesos directos de OneLake admiten varios orígenes de datos del sistema de archivos. Estos incluyen ubicaciones internas de OneLake, Azure Data Lake Storage (ADLS) Gen2, Amazon S3, S3 Compatible, Google Cloud Storage (GCS) y Dataverse.
Accesos directos internos de OneLake
Los accesos directos internos de OneLake permiten hacer referencia a datos dentro de los elementos de Fabric existentes. Estos elementos incluyen almacenes de lago, bases de datos KQL y almacenamientos de datos. El acceso directo puede apuntar a una ubicación de carpeta dentro del mismo elemento, entre elementos dentro de la misma área de trabajo o incluso entre elementos de áreas de trabajo diferentes. Al crear un acceso directo entre elementos, no es necesario que los tipos de elemento coincidan. Por ejemplo, puede crear un acceso directo en un almacén de lago que apunte a los datos de un almacenamiento de datos.
Cuando un usuario accede a los datos a través de un acceso directo a otra ubicación de OneLake, la identidad del usuario que realiza la llamada se usará para autorizar el acceso a los datos en la ruta de acceso de destino del acceso directo*. Este usuario debe tener permisos en la ubicación de destino para leer los datos.
Importante
Al acceder a los accesos directos a través de modelos semánticos de Power BI o T-SQL, la identidad del usuario que realiza la llamada no se pasa al destino de acceso directo. En su lugar, se pasa la identidad del propietario del elemento que realiza la llamada y se delega el acceso al usuario que realiza la llamada.
Accesos directos de ADLS
También se pueden crear accesos directos a cuentas de almacenamiento de ADLS Gen2. Al crear accesos directos a ADLS, la ruta de acceso de destino puede apuntar a cualquier carpeta dentro del espacio de nombres jerárquico. Como mínimo, la ruta de acceso de destino debe incluir un nombre de contenedor.
Acceder
Los accesos directos de ADLS deben apuntar al punto de conexión DFS de la cuenta de almacenamiento.
Ejemplo: https://accountname.dfs.core.windows.net/
Si la cuenta de almacenamiento está protegida por un firewall de almacenamiento, puedes configurar el acceso de servicio de confianza. Consulta Acceso al área de trabajo de confianza
Authorization
Los accesos directos de ADLS usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de ADLS y todo el acceso a ese acceso directo se autoriza con esa credencial. Los tipos delegados admitidos son Cuenta organizativa, Clave de cuenta, Firma de acceso compartido (SAS) y Entidad de servicio.
- Cuenta organizativa: debe tener el rol Lector de datos de Storage Blob, Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob en la cuenta de almacenamiento
- Firma de acceso compartido (SAS): debe incluir al menos los siguientes permisos: Leer, Enumerar y Ejecutar
- Entidad de servicio: debe tener el rol Lector de datos de Storage Blob, Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob en la cuenta de almacenamiento
- Identidad del área de trabajo: debe tener el rol Lector de datos de Storage Blob, Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob en la cuenta de almacenamiento.
Nota:
Debe tener habilitados espacios de nombres jerárquicos en la cuenta de almacenamiento de ADLS Gen 2.
Accesos directos de S3
También puede crear accesos directos a cuentas de Amazon S3. Al crear accesos directos a Amazon S3, la ruta de acceso de destino debe contener un nombre de cubo como mínimo. S3 no admite de forma nativa espacios de nombres jerárquicos, pero puede usar prefijos para imitar una estructura de directorios. Puede incluir prefijos en la ruta de acceso directo para restringir aún más el ámbito de los datos accesibles a través del acceso directo. Cuando se accede a los datos a través de un acceso directo de S3, los prefijos se representan como carpetas.
Acceder
Los accesos directos S3 deben apuntar al punto de conexión https del cubo S3.
Ejemplo: https://bucketname.s3.region.amazonaws.com/
Nota:
No es necesario deshabilitar la configuración Bloquear acceso público de S3 para la cuenta S3 para que el acceso directo S3 funcione.
El acceso al punto de conexión S3 no debe estar bloqueado por un firewall de almacenamiento o una nube privada virtual.
Autorización
Los accesos directos de S3 usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de S3 y todo el acceso a ese acceso directo se autoriza con esa credencial. La credencial delegada admitida es una clave y un secreto para un usuario de IAM.
El usuario de IAM debe tener los permisos siguientes en el cubo al que apunta el acceso directo.
S3:GetObject
S3:GetBucketLocation
S3:ListBucket
Nota:
Los métodos abreviados S3 son de solo lectura. No admiten operaciones de escritura independientemente de los permisos para el usuario de IAM.
Accesos directos de Google Cloud Storage
Se pueden crear accesos directos a Google Cloud Storage (GCS) mediante la API XML para GCS. Al crear accesos directos a Google Cloud Storage, la ruta de acceso de destino debe contener un nombre de cubo como mínimo. También puede restringir el ámbito del acceso directo si especifica el prefijo o la carpeta a la que quiere apuntar dentro de la jerarquía de almacenamiento.
Access
Al configurar la conexión para un acceso directo de GCS, puede especificar el punto de conexión global para el servicio de almacenamiento, o bien usar un punto de conexión específico del cubo.
- Ejemplo de punto de conexión global:
https://storage.googleapis.com
- Ejemplo de punto de conexión específico del cubo:
https://<BucketName>.storage.googleapis.com
Authorization
Los accesos directos de GCS usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de GCS y todo el acceso a ese acceso directo se autoriza con esa credencial. La credencial delegada admitida es una clave y un secreto de HMAC para una cuenta de servicio o una cuenta de usuario.
La cuenta debe tener permiso para acceder a los datos dentro del cubo de GCS. Si se ha usado el punto de conexión específico del cubo en la conexión para el acceso directo, la cuenta debe tener los permisos siguientes:
storage.objects.get
stoage.objects.list
Si se ha usado el punto de conexión global en la conexión para el acceso directo, la cuenta también debe tener el permiso siguiente:
storage.buckets.list
Nota:
Los métodos abreviados GCS son de solo lectura. No admiten operaciones de escritura independientemente de los permisos para la cuenta que se usa.
Accesos directos de Dataverse
La integración directa de Dataverse con Microsoft Fabric permite a las organizaciones ampliar sus aplicaciones empresariales y procesos empresariales de Dynamics 365 a Fabric. Esta integración se realiza a través de accesos directos, que se pueden crear de dos maneras: a través del portal de PowerApps Maker o a través de Fabric directamente.
Creación de accesos directos a través de PowerApps Maker Portal
Los usuarios autorizados de PowerApps pueden acceder a PowerApps Maker Portal y usar la característica Vincular a Microsoft Fabric. A partir de esta única acción, se crea una instancia de Lakehouse en Fabric y los accesos directos se generan automáticamente para cada tabla del entorno de Dataverse. Para obtener más información, consulte Integración directa de Dataverse con Microsoft Fabric.
Creación de accesos directos a través de Fabric
Los usuarios de Fabric también pueden crear accesos directos a Dataverse. En la experiencia de usuario para crear accesos directos, los usuarios pueden seleccionar Dataverse, proporcionar su dirección URL de entorno y examinar las tablas disponibles. Esta experiencia permite a los usuarios elegir de forma selectiva las tablas que se van a incorporar a Fabric en lugar de incorporar todas las tablas.
Nota:
Las tablas de Dataverse deben estar disponibles primero en el lago administrado por Dataverse antes de que estén visibles en la experiencia de usuario de creación de accesos directos de Fabric. Si las tablas no están visibles en Fabric, usa la característica Vincular a Microsoft Fabric desde PowerApps Maker Portal.
Authorization
Los accesos directos de Dataverse usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de Dataverse y todo el acceso a ese acceso directo se autoriza con esa credencial. El tipo de credencial delegada admitido es Cuenta organizativa (OAuth2). La cuenta organizativa debe tener permisos de administrador del sistema para acceder a los datos en el lago administrado por Dataverse.
Nota:
Las entidades de servicio agregadas al área de trabajo de fabric deben tener el rol de administrador para autorizar el acceso directo de Dataverse.
Almacenamiento en memoria caché
El almacenamiento en caché de acceso directo se puede usar para reducir los costes de salida asociados con el acceso a datos entre nubes. A medida que los archivos se leen a través de un acceso directo externo, los archivos se almacenan en una memoria caché para el área de trabajo de Fabric. Las solicitudes de lectura posteriores se proporcionan desde la memoria caché en lugar del proveedor de almacenamiento remoto. Los archivos almacenados en caché tienen un período de retención de 24 horas. Cada vez que se accede al archivo, se restablece el período de retención. Si el archivo del proveedor de almacenamiento remoto es más reciente que el archivo de la memoria caché, la solicitud se atiende desde el proveedor de almacenamiento remoto y el archivo actualizado se almacenará en caché. Si no se ha accedido a un archivo durante más de 24 horas, se purga desde la memoria caché. Los archivos individuales mayores de 1 GB de tamaño no se almacenan en caché.
Nota:
Actualmente, el almacenamiento en caché de accesos directos solo se admite para accesos directos GCS y S3, y compatibles con S3.
Para habilitar el almacenamiento en caché para accesos directos, abre el panel Configuración del área de trabajo. Elija la pestaña OneLake. Cambie la configuración de caché a Activada y haga clic en Guardar.
Uso de métodos abreviados de acceso directo a conexiones en la nube
La autorización de accesos directos de ADLS y S3 se delega mediante conexiones en la nube. Al crear un nuevo acceso directo de ADLS o S3, cree una nueva conexión o seleccione una conexión existente para el origen de datos. Establecer una conexión para un acceso directo es una operación de enlace. Solo los usuarios con permisos en la conexión pueden realizar la operación de enlace. Si no tiene permisos en la conexión, no puede crear nuevos accesos directos mediante esa conexión.
Seguridad de acceso directo
Los accesos directos requieren determinados permisos para administrar y usar. La seguridad de acceso directo de OneLake examina los permisos necesarios para crear accesos directos y acceder a los datos mediante ellos.
¿Cómo controlan los accesos directos las eliminaciones?
Los accesos directos no realizan eliminaciones en cascada. Cuando se realiza una operación de eliminación en un acceso directo, solo se elimina el objeto de acceso directo. Los datos del destino de acceso directo permanecen sin cambios. Sin embargo, si realiza una operación de eliminación en un archivo o carpeta dentro de un acceso directo, y tiene permisos en el destino de acceso directo para realizar la operación de eliminación, los archivos o carpetas se eliminan en el destino. El siguiente ejemplo muestra este aspecto.
Ejemplo de eliminación
El usuario A tiene un lago con la siguiente ruta de acceso:
MyLakehouse\Files\MyShortcut\Foo\Bar
MyShortcut es un acceso directo que apunta a una cuenta de ADLS Gen2 que contiene los directorios Foo\Bar.
Eliminación de un objeto de acceso directo
El usuario A realiza una operación de eliminación en la siguiente ruta de acceso:
MyLakehouse\Files\MyShortcut
En este caso, MyShortcut se elimina del almacén de lago. Los accesos directos no realizan eliminaciones en cascada, por lo que los archivos y directorios de la cuenta de ADLS Gen2 Foo\Bar no se ven afectados.
Eliminación del contenido al que hace referencia un acceso directo
El usuario A realiza una operación de eliminación en la siguiente ruta de acceso:
MyLakehouse\Files\MyShortcut\Foo\Bar
En este caso, si el usuario A tiene permisos de escritura en la cuenta de ADLS Gen2, el directorio Bar se elimina de la cuenta de ADLS Gen2.
Vista de linaje del área de trabajo
Al crear accesos directos entre varios elementos de Fabric dentro de un área de trabajo, puede visualizar las relaciones de acceso directo a través de la vista de linaje del área de trabajo. Seleccione el botón Vista de linaje ( ) en la esquina superior derecha del explorador del área de trabajo.
Nota:
La vista de linaje se limita a una sola área de trabajo. No aparecerán accesos directos a ubicaciones fuera del área de trabajo seleccionada.
Limitaciones y consideraciones
- El número máximo de accesos directos por elemento de Fabric es de 100 000. En este contexto, el término Elemento se refiere a: aplicaciones, almacenes de lago, almacenes, informes y mucho más.
- El número máximo de accesos directos en una sola ruta de acceso de OneLake es 10.
- El número máximo de accesos directos a los vínculos de acceso directo es 5.
- Las rutas de acceso directo de ADLS y S3 no pueden contener caracteres reservados de la sección 2.2 de RCF 3986. Para ver los caracteres permitidos, consulte la sección 2.3 de RFC 3968.
- Los nombres de los accesos directos de OneLake, las rutas primarias y las rutas de destino no pueden contener caracteres "%" o "+".
- Los accesos directos no admiten caracteres no latinos.
- Copia de la API de blobs no compatible con los accesos directos de ADLS o S3.
- La función copiar no funciona en accesos directos que apuntan directamente a contenedores de ADLS. Se recomienda crear accesos directos de ADLS en un directorio que sea al menos un nivel por debajo de un contenedor.
- No se pueden crear accesos directos adicionales dentro de los accesos directos de ADLS o S3.
- El linaje de los accesos directos a almacenes de datos y modelos semánticos no está disponible actualmente.
- Table API puede tardar hasta un minuto en reconocer nuevos accesos directos.