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:
-
newWorkspaceName: El nombre que tendrá el workspace restaurado.
-
newWorkspaceAdminPrincipal: El principal que será administrador del workspace restaurado. Puede ser
User,ServicePrincipaloGroup.
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:
-
Ejecutar
list_deleted_workspaces()para ver qué workspaces están disponibles. -
Identificar el workspace que necesitas restaurar.
-
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.