Compartir a través de


Uso de una canalización para acceder a una instancia de LakeHouse en un área de trabajo restringida de entrada desde un área de trabajo abierta

Puede usar una canalización para establecer la comunicación entre áreas de trabajo entre un área de trabajo abierta y un área de trabajo que restrinja el acceso público entrante. Por ejemplo, puede crear una canalización en un área de trabajo abierta para acceder a un lakehouse en un área de trabajo con acceso restringido. Esta configuración permite que el cuaderno en el área de trabajo 1 acceda de forma segura al 'lakehouse' y lea las tablas de Delta Lake en el área de trabajo 2 sin exponerlas al acceso público.

Paso 1: Crear las áreas de trabajo

Necesita un área de trabajo abierta y una área de trabajo restringida. En este artículo se hace referencia a las áreas de trabajo de la siguiente manera:

  • El área de trabajo de origen es el área de trabajo abierta sin restricción de acceso público. Es donde se crea una canalización.
  • El área de trabajo de destino es el área de trabajo restringida con restricción de acceso público entrante. Es donde se crea la casa del lago.

Para crear las áreas de trabajo, siga estos pasos:

  1. Cree dos áreas de trabajo en Microsoft Fabric. Para más información, consulte Creación de un área de trabajo.

  2. En la configuración del cliente, habilite la protección de acceso de entrada a nivel de espacio de trabajo.

  3. Para el área de trabajo de destino, configure vínculos privados a nivel del área de trabajo.

Paso 2: Crear un lakehouse en el área de trabajo restringida

Cree un lakehouse en el espacio de trabajo de destino (restringido) utilizando la siguiente API de creación de lakehouse:

POST https://{workspaceid}.z{xy}.w.api.fabric.microsoft.com/workspaces/{workspaceID}/lakehouses

Captura de pantalla que muestra la creación de un lakehouse.

Paso 3: Creación de un punto de conexión privado administrado

Cree un punto de conexión privado administrado en el área de trabajo de código fuente (abierto). Use la configuración Área de trabajo en el portal o la API siguiente:

POST https://{workspaceFQDN}/v1/workspaces/{workspaceID}/managedPrivateEndpoints

En ese código, {workspaceFQDN} es {workspaceID}.z{xy}.w.api.fabric.microsoft.com.

Por ejemplo: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/managedPrivateEndpoints.

El targetPrivateLinkResourceId parámetro es el identificador de recurso del servicio Azure Private Link en el área de trabajo restringida. Para crear un punto de conexión privado administrado en el área de trabajo de destino, necesita este identificador de recurso.

Captura de pantalla que muestra la API para crear un punto de conexión privado administrado.

Puede encontrar este identificador de recurso en Azure mediante la visualización del JSON del recurso para el área de trabajo. Asegúrese de que el identificador del área de trabajo en json coincide con el área de trabajo de destino prevista.

Captura de pantalla que muestra cómo obtener el identificador de recurso de Private Link en un archivo JSON de recursos.

El propietario del servicio Private Link para el área de trabajo 2 debe aprobar la solicitud de un punto de conexión privado administrado en el centro> de vínculo privado de AzureConexiones pendientes.

Paso 4: Sube una tabla de Delta Lake al lakehouse

Use el Explorador de Azure Storage para cargar la carpeta de la tabla de Delta Lake en el almacenamiento administrado de restricted lakehouse:

  1. Vaya al Explorador de Storage, seleccione el icono de conexión en el menú izquierdo y, a continuación, seleccione contenedor o directorio de ADLS Gen2.

  2. Inicie sesión con OAuth.

  3. Escriba un nombre para mostrar para el almacenamiento y escriba la dirección URL del contenedor de blobs en el formato siguiente:

    https://{workspaceID}.z{xy}.onelake.fabric.microsoft.com/{workspaceID}/{lakehouseID}

    En ese código, workspaceID es el identificador del área de trabajo sin guiones y {xy} es los dos primeros caracteres del identificador del área de trabajo.

    Captura de pantalla que muestra la entrada de información de conexión.

  4. Seleccione Conectar. El almacenamiento debería aparecer ahora en la vista del explorador.

  5. En la carpeta Tablas , cargue la tabla de Delta Lake que desea usar. En este ejemplo se usa la tabla customers .

    Captura de pantalla que muestra la opción para cargar una carpeta.

Paso 5: Creación de un cuaderno en el área de trabajo restringida

Cree un cuaderno que lea de la tabla y escriba en una tabla nueva. Para ello, cree un cuaderno en un área de trabajo abierta mediante la interfaz de usuario:

  1. En el área de trabajo abierta, cree una instancia de Lakehouse con la misma tabla y un cuaderno similar mediante la interfaz de usuario.

    Captura de pantalla que muestra la página para cargar un archivo en una nueva tabla.

  2. Conecte lakehouse en el cuaderno y ejecute el script para crear una nueva tabla:

    df = spark("SELECT * FROM Lakehouse_Open.customers")
    display(df)
    df.write.mode("overwrite").saveAsTable("Lakehouse_Open.customersnew")
    

    Captura de pantalla que muestra la ejecución del script para crear una nueva tabla.

  3. Guarde el cuaderno.

  4. Recupere la definición del cuaderno a través de la API y obtenga el resultado de la ubicación:

    Get Notebook Definition API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks/getDefinition
    
    Get location API: GET {location}/result
    
  5. Convierta notebook-content.py de Base64 a JSON, copie el contenido convertido y, a continuación, vuelva a convertir el contenido de JSON a Base64 después de actualizar los valores siguientes con valores de restricted lakehouse.

  6. Cree un cuaderno con la definición mediante el cuerpo de la solicitud actualizado:

    Create Notebook API: GET https://{WorkspaceID w/o (-)}.zxy.w.api.fabric.microsoft.com/{WorkspaceID}/notebooks
    
    Get location API: GET {location}/result
    

Paso 6: Creación de una canalización en el área de trabajo abierta

  1. En el área de trabajo abierta, cree una canalización mediante el portal de Fabric o la API.

  2. Agregue una actividad de cuaderno.

  3. En Configuración, cree una conexión.

    Captura de pantalla que muestra el panel para conectar un origen de datos.

  4. Seleccione el área de trabajo restringida.

    Captura de pantalla que muestra la selección de un área de trabajo restringida.

  5. Agregue el identificador del cuaderno como parámetro:

    @pipeline().parameters.notebookId

  6. En los parámetros de canalización, escriba el identificador real del notebook del espacio de trabajo restringido.

    Captura de pantalla que muestra dónde agregar un identificador de cuaderno.

  7. Guarde la canalización y copie el ID de la canalización.

Paso 7: Ejecución de la canalización a través de la API

  1. Desencadene la canalización mediante la API. Por ejemplo, use Bruno.

    Este es el formato del endpoint de API para la ejecución del pipeline.

    https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{openWsId}/items/{pipelineId}/jobs/instances?jobType=Pipeline`
    
    Get location API: GET {location}
    
  2. Espere a que finalice el estado de ejecución. Puede comprobar el estado en la página Supervisión del portal de Fabric.

    Captura de pantalla que muestra la página de supervisión.

Paso 8: Comprobar la creación de tablas

  1. Abra el Explorador de Storage en el lago del área de trabajo restringida.

  2. Confirme que se creó la nueva tabla.

  3. Usa la API de Listar Tablas para obtener las tablas del Data Lakehouse.

    List Tables API: GET https://{openWsIdWithoutDashes}.zxy.w.api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{lakehouseId}/tables