API Espace de travail 2.0
L’API de l’espace de travail vous permet de répertorier, d’importer, d’exporter et de supprimer des blocs-notes et des dossiers. La taille maximale autorisée pour une requête adressée à l’espace de travail API est de 10 Mo. Pour obtenir des instructions sur cette API, consultez exemples de remise de journal de cluster .
Important
Pour accéder aux API REST Databricks, vous devez vous authentifier.
Supprimer
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/delete |
POST |
Supprimer un objet ou un répertoire (et éventuellement supprimer de manière récursive tous les objets de l’annuaire).
Si path
n’existe pas, cet appel retourne une erreur RESOURCE_DOES_NOT_EXIST
.
Si path
est un répertoire non vide et recursive
a la valeur false
, cet appel retourne une erreur DIRECTORY_NOT_EMPTY
.
La suppression d’objets ne peut pas être annulée et la suppression d’un répertoire de manière récursive n’est pas atomique.
Exemple
Demande :
curl --netrc --request POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/delete \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com/MyFolder", "recursive": true }'
En cas de réussite, ce point de terminaison ne retourne aucune réponse.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin absolu du fichier ou du répertoire. Ce champ doit obligatoirement être renseigné. |
recursive | BOOL |
Indicateur qui spécifie s’il faut supprimer l’objet de manière récursive. La valeur par défaut de ce paramètre est false . Notez que ce répertoire de suppression n’est pas atomique. En cas d’échec au milieu, certains objets sous ce répertoire peuvent être supprimés et ne peuvent pas être annulés. |
Exporter
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/export |
GET |
Exporter un bloc-notes ou le contenu d’un répertoire entier.
Vous pouvez également exporter un référentiel Databricks, ou un bloc-notes ou un répertoire à partir d’un référentiel Databricks.
Vous ne pouvez pas exporter de fichiers non-Notebook à partir d’un référentiel Databricks.
Si path
n’existe pas, cet appel retourne une erreur RESOURCE_DOES_NOT_EXIST
.
Vous pouvez exporter un répertoire uniquement au format DBC
.
Si les données exportées dépassent la limite de taille, cet appel retourne une erreur MAX_NOTEBOOK_SIZE_EXCEEDED
.
Cette API ne prend pas en charge l’exportation d’une bibliothèque.
Exemple
Demande :
curl --netrc --request GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/export \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com/MyFolder/MyNotebook", "format": "SOURCE", "direct_download": true }'
curl --netrc --request GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/export \
--header 'Accept: application/json' \
--data '{ "path": "/Repos/me@example.com/MyFolder/MyNotebook", "format": "SOURCE", "direct_download": true }'
Réponse :
Si le direct_download
champ a la valeur false
ou a été omis de la demande, une version codée en base64 du contenu est retournée, par exemple :
{
"content": "Ly8gRGF0YWJyaWNrcyBub3RlYm9vayBzb3VyY2UKMSsx",
}
Sinon, si direct_download
a la valeur true
dans la demande, le contenu est téléchargé.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin absolu du fichier ou du répertoire. L’exportation d’un répertoire est prise en charge uniquement pour DBC . Ce champ doit obligatoirement être renseigné. |
format | ExportFormat | Spécifie le format du fichier exporté. Par défaut, cette valeur est SOURCE . La valeur est sensible à la casse. |
direct_download | BOOL |
Indicateur pour activer le téléchargement direct. Si c’est le cas true , la réponse sera le fichier exporté lui-même. Dans le cas contraire, la réponse contient du contenu sous la forme d’une chaîne encodée en base64. Pour plus d’informations sur la façon de l’utiliser, consultez exporter un bloc-notes ou un dossier . |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
contenu | BYTES |
Le contenu codé en base64. Si la limite (10 Mo) est dépassée, une exception avec le code d’erreur MAX_NOTEBOOK_SIZE_EXCEEDED est levée. |
Obtenir l’état
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/get-status |
GET |
Obtient l’état d’un objet ou d’un répertoire.
Si path
n’existe pas, cet appel retourne une erreur RESOURCE_DOES_NOT_EXIST
.
Exemple
Demande :
curl --netrc --request GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/get-status \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com/MyFolder/MyNotebook" }'
Réponse :
{
"object_type": "NOTEBOOK",
"path": "/Users/me@example.com/MyFolder/MyNotebook",
"language": "PYTHON",
"object_id": 123456789012345
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin absolu du fichier ou du répertoire. Ce champ doit obligatoirement être renseigné. |
Structure de réponse
Nom du champ | Type | Description |
---|---|---|
object_type | ObjectType | Type de l'objet. |
object_id | INT64 |
Identificateur unique pour l’objet . |
path | STRING |
Chemin d'accès absolu de l'objet. |
langage | Langage | Langage de l’objet. Cette valeur est définie uniquement si le type d’objet est NOTEBOOK . |
Importez
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/import |
POST |
Importez un carnet de notes ou le contenu d'un répertoire entier.
Si path
existe déjà et overwrite
a la valeur false
, cet appel retourne une erreur RESOURCE_ALREADY_EXISTS
.
Vous pouvez utiliser uniquement le format DBC
pour importer un répertoire.
Exemple
Importez une chaîne de caractères codée en base64 :
curl --netrc --request POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/import \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com/MyFolder/MyNotebook", "content": "Ly8gRGF0YWJyaWNrcyBub3RlYm9vayBzb3VyY2UKMSsx", "language": "PYTHON", "overwrite": true, "format": "SOURCE" }'
Importer un fichier local :
curl --netrc --request POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/import \
--header 'Content-Type: multipart/form-data' \
--form path=/Users/me@example.com/MyFolder/MyNotebook \
--form content=@myCode.py.zip
En cas de réussite, ce point de terminaison ne retourne aucune réponse.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin absolu du fichier ou du répertoire. L’importation de répertoire prend uniquement en charge le format DBC . Ce champ doit obligatoirement être renseigné. |
format | ExportFormat | Spécifie le format du fichier à importer. Par défaut, cette valeur est SOURCE . La valeur est sensible à la casse. |
langage | Langage | Langage. Si le format est défini sur SOURCE , ce champ est obligatoire ; sinon, il sera ignoré. |
contenu | BYTES |
Le contenu codé en base64. La limite est de 10 Mo. Si la limite (10 Mo) est dépassée, une exception avec le code d’erreur MAX_NOTEBOOK_SIZE_EXCEEDED est levée. Ce paramètre peut être absent, et un fichier publié sera utilisé à la place. Voir Importer un cahier ou un répertoire pour plus d'informations sur la façon de l'utiliser. |
overwrite | BOOL |
Le drapeau qui spécifie si l'on doit écraser l'objet existant. La valeur par défaut de ce paramètre est false . Pour le format DBC , le remplacement n’est pas pris en charge, car il peut contenir un répertoire. |
Liste
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/list |
GET |
Répertorie le contenu d’un répertoire ou l’objet s’il ne s’agit pas d’un répertoire.
Si le chemin d’accès d’entrée n’existe pas, cet appel retourne une erreur RESOURCE_DOES_NOT_EXIST
.
Exemple
Répertorier les répertoires et leur contenu :
Demande :
curl --netrc --request GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/list \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com" }'
Réponse :
{
"objects": [
{
"path": "/Users/me@example.com/MyFolder",
"object_type": "DIRECTORY",
"object_id": 234567890123456
},
{
"path": "/Users/me@example.com/MyFolder/MyNotebook",
"object_type": "NOTEBOOK",
"language": "PYTHON",
"object_id": 123456789012345
},
{
"..."
}
]
}
Répertorier les pensions :
curl --netrc --request GET \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/list \
--header 'Accept: application/json' \
--data '{ "path": "/Repos/me@example.com" }'
Réponse :
{
"objects": [
{
"path": "/Repos/me@example.com/MyRepo1",
"object_type": "REPO",
"object_id": 234567890123456
},
{
"path": "/Repos/me@example.com/MyRepo2",
"object_type": "REPO",
"object_id": 123456789012345
},
{
"..."
}
]
}
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin absolu du fichier ou du répertoire. Ce champ doit obligatoirement être renseigné. |
Structure de la réponse
Nom du champ | Type | Description |
---|---|---|
objets | Tableau de ObjectInfo | Liste d’objets. |
Mkdirs
Point de terminaison | Méthode HTTP |
---|---|
2.0/workspace/mkdirs |
POST |
Crée le répertoire donné et les répertoires parents nécessaires s’ils n’existent pas.
S’il existe un objet (pas un répertoire) à un préfixe du chemin d’accès d’entrée, cet appel retourne une erreur RESOURCE_ALREADY_EXISTS
.
Si cette opération échoue, elle peut avoir réussi à créer certains des répertoires parents nécessaires.
Exemple
Demande :
curl --netrc --request POST \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/workspace/mkdirs \
--header 'Accept: application/json' \
--data '{ "path": "/Users/me@example.com/MyFolder" }'
En cas de réussite, ce point de terminaison ne retourne aucune réponse.
Structure de la requête
Nom du champ | Type | Description |
---|---|---|
path | STRING |
Chemin d'accès absolu du répertoire. Si les répertoires parents n’existent pas, ils sont également créés. Si le répertoire existe déjà, cette commande ne fait rien. Ce champ doit obligatoirement être renseigné. |
Structures de données
Dans cette section :
ObjectInfo
Informations de l’objet dans l’espace de travail. Elle est retournée par list
et get-status
.
Nom du champ | Type | Description |
---|---|---|
object_type | ObjectType | Type de l'objet. |
object_id | INT64 |
Identificateur unique pour l’objet . |
path | STRING |
Chemin d'accès absolu de l'objet. |
langage | Langage | Langage de l’objet. Cette valeur est définie uniquement si le type d’objet est NOTEBOOK . |
ExportFormat
Format d’importation et d’exportation des notebooks.
Format | Description |
---|---|
SOURCE | Le bloc-notes sera importé/exporté en tant que code source. |
HTML | Le bloc-notes sera importé/exporté en tant que fichier HTML. |
JUPYTER | Le bloc-notes sera importé/exporté en tant que fichier de bloc-notes Jupyter/IPython. |
DBC | Le bloc-notes sera importé/exporté en tant que format d’archive Databricks. |
Langage
Langue du bloc-notes.
Langage | Description |
---|---|
SCALA | Notebook Scala. |
PYTHON | Notebook Python. |
SQL | bloc-notes SQL. |
R | Notebook R. |
ObjectType
Type de l’objet dans l’espace de travail.
Type | Description |
---|---|
NOTEBOOK | Notebook |
ANNUAIRE | Répertoire |
FILE | Fichier |
LIBRARY | Bibliothèque |
REPO | Référentiel |