Cómo recuperar Workspaces eliminados en Microsoft Fabric

Autor

Kilian Baccaro Salinas

Categoría

API

Tiempo de lectura

02 min de lectura

Fecha de publicación

16 ene, 2026

¿Alguna vez has eliminado accidentalmente un workspace en Microsoft Fabric y has sentido ese momento de pánico? No te preocupes, Microsoft ha incorporado una API de administración que te permite restaurar workspaces eliminados. En este artículo te mostraré cómo hacerlo usando un notebook de PySpark directamente en Fabric.

¿Por qué es importante esta funcionalidad?

Los workspaces en Microsoft Fabric son contenedores cruciales que almacenan todos tus artefactos: lakehouse, notebooks, pipelines, datasets y más. Una eliminación accidental puede significar la pérdida de horas o días de trabajo.

Requisitos previos

  • Permisos de Fabric Administrator: Esta operación requiere privilegios administrativos a nivel de tenant.

  • Alcance delegado: Tenant.ReadWrite.All

  • ID del workspace eliminado: Necesitas el ID (UUID) del workspace que deseas recuperar.

  • ID del nuevo administrador: Usuario o service principal que será el admin del workspace restaurado.

Importante: La API tiene un límite de 10 peticiones por minuto.

La API de Restauración

Microsoft Fabric expone un endpoint REST específico:

POST https://api.fabric.microsoft.com/v1/admin/workspaces/{workspaceId}/restore

Esta API acepta dos parámetros principales:

  1. newWorkspaceName: El nombre que tendrá el workspace restaurado.

  2. newWorkspaceAdminPrincipal: El principal que será administrador del workspace restaurado. Puede ser User, ServicePrincipal o Group.

Implementación con PySpark

Configuración de parámetros

WORKSPACE_ID = "000xxx-xxxx-xxxx-xxxx-xxx000"
NEW_WORKSPACE_NAME = "Workspace Restored"
NEW_ADMIN_ID = "000xxx-xxxx-xxxx-xxxx-xxx000"
PRINCIPAL_TYPE = "User"

El NEW_ADMIN_ID es el Object ID del usuario o service principal, que puedes encontrar en Azure Portal (Azure Active Directory > Users o Enterprise applications).

Listar Workspaces eliminados

Antes de restaurar, puedes obtener una lista de todos los workspaces eliminados disponibles:

def list_deleted_workspaces():
    url = "https://api.fabric.microsoft.com/v1/admin/workspaces"
    headers = {
        "Authorization": f"Bearer {token}",
        "Content-Type": "application/json"
    }
    
    params = {"state": "Deleted"}
    
    try:
        response = requests.get(url, headers=headers, params=params)
        if response.status_code == 200:
            workspaces = response.json()
            print(f"Se encontraron {len(workspaces.get('value', []))} workspaces eliminados:")
            for ws in workspaces.get('value', []):
                print(f"  - {ws.get('displayName')} (ID: {ws.get('id')})")
            return workspaces
        else:
            print(f"Error al listar workspaces: {response.status_code}")
            return None
    except Exception as e:
        print(f"Excepción: {e}")
        return None

Llamada a la API de restauración

import requests

url = f"https://api.fabric.microsoft.com/v1/admin/workspaces/{WORKSPACE_ID}/restore"

headers = {
    "Authorization": f"Bearer {token}",
    "Content-Type": "application/json"
}

body = {
    "newWorkspaceName": NEW_WORKSPACE_NAME,
    "newWorkspaceAdminPrincipal": {
        "id": NEW_ADMIN_ID,
        "type": PRINCIPAL_TYPE
    }
}

response = requests.post(url, headers=headers, json=body)

La restauración recupera el workspace Y todos los artefactos que contenía en el momento de su eliminación (notebooks, lakehouses, pipelines, datasets, etc.).

Solución completa

El notebook completo con autenticación automática, funciones reutilizables y validación de respuestas está disponible en GitHub: notebook

El flujo de trabajo típico:

  1. Ejecutar list_deleted_workspaces() para ver qué workspaces están disponibles.

  2. Identificar el workspace que necesitas restaurar.

  3. Copiar su ID y ejecutar restore_workspace() con los parámetros apropiados.

Limitaciones y Consideraciones

  • Estado de preview: Esta API está en preview y puede cambiar.

  • Rate limiting: Máximo 10 peticiones por minuto.

  • Ventana de recuperación: Los workspaces eliminados solo están disponibles durante un período limitado.

  • Permisos requeridos: Solo usuarios con rol de Fabric Administrator pueden ejecutar esta operación.

Recursos adicionales