Workspace API

La API del área de trabajo permite enumerar, importar, exportar y eliminar cuadernos y carpetas. El tamaño máximo permitido de una solicitud a workspace API es de 10 MB. Consulte Ejemplos de entrega de registros de clúster para obtener una guía sobre esta API.

Importante

Para acceder a las API REST de Databricks, es preciso autenticarse.

Eliminar

Punto de conexión Método HTTP
2.0/workspace/delete POST

Elimine un objeto o un directorio (y, opcionalmente, elimina de forma recursiva todos los objetos del directorio). Si path no existe, esta llamada devuelve un error RESOURCE_DOES_NOT_EXIST . Si path es un directorio no vacío y está establecido en , esta llamada devuelve un error recursive false DIRECTORY_NOT_EMPTY . No se puede deshacer la eliminación de objetos y eliminar un directorio de forma recursiva no es atómico. Ejemplo de solicitud:

{
  "path": "/Users/user@example.com/project",
  "recursive": true
}

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del cuaderno o directorio. Este campo es obligatorio.
recursive BOOL Marca que especifica si se debe eliminar el objeto de forma recursiva. De forma predeterminada, su valor es false. Tenga en cuenta que este directorio de eliminación no es atómico. Si se produce un error en el centro, algunos de los objetos de este directorio se pueden eliminar y no se pueden deshacer.

Exportación

Punto de conexión Método HTTP
2.0/workspace/export GET

Exportar un cuaderno o el contenido de un directorio completo. Si path no existe, esta llamada devuelve un error RESOURCE_DOES_NOT_EXIST . Puede exportar un directorio solo en DBC formato. Si los datos exportados superan el límite de tamaño, esta llamada devuelve un error MAX_NOTEBOOK_SIZE_EXCEEDED . Esta API no admite la exportación de una biblioteca. Ejemplo de solicitud:

{
  "path": "/Users/user@example.com/project/ScalaExampleNotebook",
  "format": "SOURCE"
}

Ejemplo de respuesta, donde content está codificado en base64:

{
  "content": "Ly8gRGF0YWJyaWNrcyBub3RlYm9vayBzb3VyY2UKMSsx",
}

Como alternativa, puede descargar el archivo exportado habilitando direct_download :

curl -n -o example.scala \
  'https://<databricks-instance>/api/2.0/workspace/export?path=/Users/user@example.com/ScalaExampleNotebook&direct_download=true'

En los ejemplos siguientes, reemplace <databricks-instance> por la dirección URL del área de trabajo de la implementación de Azure Databricks.

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del cuaderno o directorio. La exportación de un directorio solo se admite para DBC . Este campo es obligatorio.
format ExportFormat Especifica el formato del archivo exportado. De forma predeterminada, es SOURCE. El valor distingue mayúsculas de minúsculas.
direct_download BOOL Marca para habilitar la descarga directa. Si es true , la respuesta será el propio archivo exportado. De lo contrario, la respuesta contiene contenido como cadena codificada en base64. Consulte Exportación de un cuaderno o una carpeta para obtener más información sobre cómo usarlo.

Estructura de respuesta

Nombre del campo Tipo Descripción
contenido BYTES Contenido codificado en base64. Si se supera el límite (10 MB), se produce una excepción con código MAX_NOTEBOOK_SIZE_EXCEEDED de error.

Obtener estado

Punto de conexión Método HTTP
2.0/workspace/get-status GET

Obtiene el estado de un objeto o un directorio. Si path no existe, esta llamada devuelve un error RESOURCE_DOES_NOT_EXIST . Ejemplo de solicitud:

{
  "path": "/Users/user@example.com/project/ScaleExampleNotebook"
}

Ejemplo de respuesta:

{
  "path": "/Users/user@example.com/project/ScalaExampleNotebook",
  "language": "SCALA",
  "object_type": "NOTEBOOK",
  "object_id": 789
}

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del cuaderno o directorio. Este campo es obligatorio.

Estructura de respuesta

Nombre del campo Tipo Descripción
object_type ObjectType Tipo del objeto.
object_id INT64 Identificador único del objeto.
path STRING Ruta de acceso absoluta del objeto.
language Lenguaje Idioma del objeto. Este valor solo se establece si el tipo de objeto es NOTEBOOK .

Importación

Punto de conexión Método HTTP
2.0/workspace/import POST

Importe un cuaderno o el contenido de un directorio completo. Si path ya existe y está establecido en , esta llamada devuelve un error overwrite false RESOURCE_ALREADY_EXISTS . Solo puede usar el DBC formato para importar un directorio. Ejemplo de solicitud, donde content es la cadena codificada en base64 de 1+1 :

{
  "content": "MSsx\n",
  "path": "/Users/user@example.com/project/ScalaExampleNotebook",
  "language": "SCALA",
  "overwrite": true,
  "format": "SOURCE"
}

Como alternativa, puede importar un archivo local directamente.

En los ejemplos siguientes, reemplace <databricks-instance> por la dirección URL del área de trabajo de la implementación de Azure Databricks.

curl -n -F path=/Users/user@example.com/project/ScalaExampleNotebook -F language=SCALA \
  -F content=@example.scala \
  https://<databricks-instance>/api/2.0/workspace/import

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del cuaderno o directorio. La importación de directorios solo es compatible con DBC el formato. Este campo es obligatorio.
format ExportFormat Especifica el formato del archivo que se va a importar. De forma predeterminada, es SOURCE. El valor distingue mayúsculas de minúsculas.
language Lenguaje Lenguaje. Si format está establecido en SOURCE , este campo es obligatorio; de lo contrario, se omitirá.
contenido BYTES Contenido codificado en base64. Tiene un límite de 10 MB. Si se supera el límite (10 MB), se produce una excepción con MAX_NOTEBOOK_SIZE_EXCEEDED código de error. Este parámetro podría estar ausente y, en su lugar, se usará un archivo publicado. Consulte Importación de un cuaderno o directorio para obtener más información sobre cómo usarlo.
sobrescribir BOOL Marca que especifica si se debe sobrescribir el objeto existente. De forma predeterminada, su valor es false. Para DBC el formato, no se admite la sobrescritura, ya que puede contener un directorio.

Lista

Punto de conexión Método HTTP
2.0/workspace/list GET

Enumera el contenido de un directorio o el objeto si no es un directorio. Si la ruta de acceso de entrada no existe, esta llamada devuelve un error RESOURCE_DOES_NOT_EXIST . Ejemplo de solicitud:

{
  "path": "/Users/user@example.com/"
}

Ejemplo de respuesta:

{
  "objects": [
    {
      "path": "/Users/user@example.com/project",
      "object_type": "DIRECTORY",
      "object_id": 123
    },
    {
      "path": "/Users/user@example.com/PythonExampleNotebook",
      "language": "PYTHON",
      "object_type": "NOTEBOOK",
      "object_id": 456
    }
  ]
}

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del cuaderno o directorio. Este campo es obligatorio.

Estructura de respuesta

Nombre del campo Tipo Descripción
objetos Matriz de ObjectInfo Lista de objetos.

Mkdirs

Punto de conexión Método HTTP
2.0/workspace/mkdirs POST

Cree el directorio y los directorios primarios necesarios si no existen. Si existe un objeto (no un directorio) en cualquier prefijo de la ruta de acceso de entrada, esta llamada devuelve un error RESOURCE_ALREADY_EXISTS . Si se produce un error en esta operación, es posible que haya creado correctamente algunos de los directorios primarios necesarios. Ejemplo de solicitud:

{
  "path": "/Users/user@example.com/project"
}

Estructura de solicitudes

Nombre del campo Tipo Descripción
path STRING Ruta de acceso absoluta del directorio. Si los directorios primarios no existen, también los creará. Si el directorio ya existe, este comando no hará nada y se realizará correctamente. Este campo es obligatorio.

Estructuras de datos

En esta sección:

ObjectInfo

Información del objeto en el área de trabajo. La devuelven list y get-status .

Nombre del campo Tipo Descripción
object_type ObjectType Tipo del objeto.
object_id INT64 Identificador único del objeto.
path STRING Ruta de acceso absoluta del objeto .
language Lenguaje Idioma del objeto . Este valor solo se establece si el tipo de objeto es NOTEBOOK .

ExportFormat

Formato de importación y exportación del cuaderno.

Formato Descripción
ORIGEN El cuaderno se importará o exportará como código fuente.
HTML El cuaderno se importará o exportará como un archivo HTML.
JUPYTER El cuaderno se importará o exportará como un archivo de Jupyter/IPython Notebook.
DBC El cuaderno se importará o exportará como formato de archivo de Databricks.

Idioma

Idioma del cuaderno.

Idioma Descripción
Scala Cuaderno de Scala.
Python Cuaderno de Python.
SQL SQL notebook.
R Cuaderno de R.

ObjectType

Tipo del objeto en el área de trabajo.

Tipo Descripción
cuaderno Notebook
DIRECTORIO Directorio
LIBRARY Biblioteca
Repo Repositorio