Azure Databricks REST API

Deze pagina beschrijft de Azure Databricks REST API, hoe deze te noemen en enkele best practices.

Voor volledige referentie voor de Databricks REST API, zie Databricks REST API-referentie.

Note

Met uitzondering van geavanceerde scenario's raadt Databricks aan om de Databricks SDK's of de Databricks CLI te gebruiken in plaats van de Databricks REST API om Databricks-objecten programmatisch te beheren.

Workspace versus Account REST API's

Azure Databricks biedt twee sets REST API's. Workspace-API's beheren resources binnen één werkruimte, zoals clusters, taken, notitieboeken en Unity Catalog-objecten, en je roept ze aan met je workspace-URL als host. Account-API's beheren accountbrede bronnen, zoals gebruikers- en groepsprovisioning, werkruimtecreatie, netwerk- en facturatieconfiguratie, en account-niveau Unity Catalog-instellingen, en je roept ze aan met de inlog-URL en account-ID van je accountconsole.

Voor de bewerkingen die in elke set beschikbaar zijn, zie de werkruimte-API-referentie en de account-API-referentie.

Een REST API aanroepen

Een Databricks REST API-aanroep bevat de volgende componenten:

Voor informatie over hoe je een REST API-verzoek structureert en hoe je responspayloads voor je favoriete ontwikkelaarstool kunt parsen, zie de documentatie van je provider.

Voorbeeld 1: Haal clusters op

Het volgende voorbeeld roept het Cluster, List-eindpunt aan om een lijst van beschikbare clusters terug te geven. Het gaat ervan uit dat de DATABRICKS_HOST omgevingsvariabele is ingesteld op je Databricks-werkruimte-URL en DATABRICKS_TOKEN op een Databricks-token.

curl -X GET "$DATABRICKS_HOST/api/2.0/clusters/list" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN"
import requests
import os

headers = {"Authorization": f"Bearer {os.getenv('DATABRICKS_TOKEN')}"}
response = requests.get(f"{os.getenv('DATABRICKS_HOST')}/api/2.0/clusters/list", headers=headers)

print(response.json())

Voorbeeld 2: Voer een klus uit

Het volgende voorbeeld roept het Job, Run Now-eindpunt aan om een proefrun van een bestaande taak te starten. Het gaat ervan uit dat de DATABRICKS_HOST omgevingsvariabele is ingesteld op je Databricks-werkruimte-URL en DATABRICKS_TOKEN op een Databricks-token.

curl -X POST "$DATABRICKS_HOST/api/2.1/jobs/run-now" \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "job_id": 45678,
    "notebook_params": {
      "dry_run": "true",
      "start_date": "2026-08-27"
    }
  }'
import requests
import os

url = f"{os.getenv('DATABRICKS_HOST')}/api/2.1/jobs/run-now"
headers = {
    "Authorization": f"Bearer {os.getenv('DATABRICKS_TOKEN')}",
    "Content-Type": "application/json"
}
payload = {
    "job_id": 45678,
    "notebook_params": {"dry_run": "true", "start_date": "2026-08-27"}
}

response = requests.post(url, headers=headers, json=payload)
print(f"Run ID: {response.json().get('run_id')}")

Voorbeeld 3: Gebruikers van het account terugbrengen

Het volgende voorbeeld roept het Account User, List-endpoint aan om gebruikers op te halen van het Databricks-account met ID <account_id>:

curl -X GET '<databricks-account-login-url>/api/2.0/identity/accounts/<account_id>/users' \
  --header "Authorization: Bearer $OAUTH_TOKEN"
import requests
import os

url = "<databricks-account-login-url>/api/2.0/identity/accounts/<account_id>/users"
headers = {"Authorization": f"Bearer {os.getenv('OAUTH_TOKEN')}"}

response = requests.get(url, headers=headers)
print(response.json())

Beste praktijken

De volgende secties beschrijven enkele best practices voor prestaties naarmate de data in je werkruimte groeit.

Paginate LIST API-antwoorden

LIST API's geven resultaten terug in pagina's in plaats van één grote respons. Om een volledige resultaatset op te halen, vraag je de eerste pagina aan en gebruik je vervolgens het token in het antwoord om elke volgende pagina op te vragen totdat er geen token meer wordt teruggegeven.

Om door een volledige resultaatset te bladeren:

  • Lees het next_page_token veld van elk antwoord. Om de volgende pagina aan te vragen, geef je de waarde ervan door in de page_token queryparameter van je volgende verzoek en houd je alle andere requestparameters hetzelfde.
  • Herhaal dit totdat een antwoord next_page_token weglaat of als een lege waarde retourneert. Die reactie is de laatste pagina. Blijf pagina's aanvragen, zelfs als een pagina geen resultaten bevat.
  • Neem page_token niet op in het eerste verzoek. Voeg het alleen toe voor vervolgverzoeken.

De parameter die de paginagrootte aanstuurt verschilt per API. Sommige API's gebruiken max_resultsbijvoorbeeld , anderen gebruiken page_size, en weer anderen gebruiken limit. Controleer de REST API-referentie voor de parameters die elk eindpunt ondersteunt.

Note

Sommige oudere Unity Catalog LIST API's geven alleen resultaten terug in pagina's wanneer je max_results specificeert. Stel max_results=0 in zodat de server de paginagrootte kiest, of stel een positieve waarde in om een paginagrootte aan te vragen. Voor meer informatie, zie Unity Catalog REST API-operaties pagineren.

Behandel 429 rate-limit antwoorden

Databricks handhaaft snelheidslimieten op REST API-aanroepen om werkruimtes responsief te houden onder zware belasting. Limieten worden per eindpunt en werkruimte toegepast om fair gebruik en beschikbaarheid te ondersteunen. Een verzoek dat de snelheidslimiet overschrijdt, geeft een HTTP-antwoord 429 Too Many Requests terug.

Ga netjes om met 429-reacties door opnieuw te proberen met exponentieel toenemende wachttijd en jitter:

  • Exponentiële terugval: Na een 429, wacht voordat je opnieuw probeert, en verdubbel de wachttijd na elke volgende 429. Stel een maximale wachttijd en een maximaal aantal herpogingen in, zodat een verzoek niet eindeloos opnieuw wordt geprobeerd.
  • Jitter: Voeg een kleine willekeurige hoeveelheid tijd toe aan elke wachttijd. Jitter verspreidt herpogingen van meerdere klanten zodat ze niet allemaal tegelijk opnieuw proberen en herhaalde verkeersuitbarstingen veroorzaken.
  • Als een reactie een Retry-After header bevat, wacht dan minstens zo lang voordat je het opnieuw probeert.

De meeste HTTP-clientbibliotheken kunnen dit herkansingsgedrag voor je toepassen. Voor achtergrondinformatie over het algoritme, zie Exponentiële backoff en jitter.

Voor de snelheidslimieten die gelden voor specifieke API's, zie de API-snelheidslimieten in API-snelheidslimieten.

Antwoordvelden inkorten voor betere prestaties

Sommige LIST API's geven velden terug die duur zijn om te berekenen of die antwoorden groot maken. Als je deze velden niet nodig hebt, gebruik dan de verzoekparameters die ze weglaten om de responsgrootte te verkleinen en de latentie te verbeteren.

De Unity Catalog Tables API ondersteunt bijvoorbeeld de volgende parameters:

  • omit_properties=true: Laat het properties veld uit elke tabel in het antwoord weg.
  • omit_columns=true: Laat het columns veld uit elke tabel in het antwoord weg.

Als je tabellen alleen opsomt om hun namen op te vragen, levert het instellen van beide parameters een kleiner antwoord op en worden tabellen sneller weergegeven. Controleer de REST API-referentie voor de field-trimingparameters die elk eindpunt ondersteunt.

Aanvullende bronnen