Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här sidan beskriver Azure Databricks REST API, hur man kallar det och några bästa praxis.
För fullständig referens för Databricks REST API, se Databricks REST API-referens.
Note
Med undantag för avancerade scenarier rekommenderar Databricks att använda Databricks SDK:er eller Databricks CLI istället för Databricks REST API för att programmatiskt hantera Databricks-objekt.
Arbetsyta kontra konto: REST-API:er
Azure Databricks tillhandahåller två uppsättningar REST-API:er. Workspace-API:er hanterar resurser inom en enda arbetsyta, såsom kluster, jobb, notebooks och Unity Catalog-objekt, och du anropar dem med din workspace-URL som värd. Konto-API:er hanterar kontoövergripande resurser, såsom användar- och gruppprovisionering, skapande av arbetsytor, nätverks- och faktureringskonfiguration samt kontonivå-inställningar i Unity-katalogen, och du anropar dem med din kontokonsols inloggnings-URL och konto-ID.
För de operationer som finns tillgängliga i varje uppsättning, se arbetsytans API-referens och kontots API-referens.
Anropa ett REST-API
Ett Databricks REST API-anrop inkluderar följande komponenter:
- Beroende på om det är en arbetsyta eller kontoterminal, antingen:
- Din Databricks-arbetsområdes-URL
- Din inloggnings-URL och konto-ID för Databricks-kontokonsolen
- REST API-operationstypen, såsom
GET, , ,PATCH, ellerDELETEPOST. - REST API:s operationsvägar, såsom
/api/2.0/clusters/get. - Databricks-autentiseringsinformation , såsom en Databricks OAuth-token.
- Alla nyttolaster i begäran eller frågeparametrar i begäran som stöds av REST API-åtgärden, till exempel ID för ett kluster.
För information om hur man strukturerar en REST API-förfrågan och hur man tolkar responspayloads för ditt föredragna utvecklarverktyg, se din leverantörs dokumentation.
Exempel 1: Hämta kluster
Följande exempel anropar Cluster, List-endpointen för att returnera en lista över tillgängliga kluster. Den antar att miljövariabeln DATABRICKS_HOST är inställd på din Databricks-workspace-URL och DATABRICKS_TOKEN är satt på en 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())
Exempel 2: Kör ett jobb
Följande exempel anropar Job, Run Now-endpointen för att trigga en torrkörning av ett befintligt jobb. Den antar att miljövariabeln DATABRICKS_HOST är inställd på din Databricks-workspace-URL och DATABRICKS_TOKEN är satt på en 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')}")
Exempel 3: Användare med återvändande konto
Följande exempel anropar Account User, List endpoint för att hämta användare i Databricks-kontot som identifieras av <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())
Metodtips
Följande avsnitt beskriver några bästa prestandapraxis i takt med att datan i din arbetsplats växer.
Paginate LIST API-svar
LIST API:er returnerar resultat i sidor istället för ett enda stort svar. För att hämta en komplett resultatuppsättning, begär den första sidan och använd sedan token i svaret för att begära varje efterföljande sida tills ingen token returneras.
För att bläddra igenom en komplett resultatuppsättning:
- Läs
next_page_tokenfältet från varje svar. För att begära nästa sida, skicka dess värde i frågeparameternpage_tokeni nästa begäran och behåll alla andra parametrar i begäran desamma. - Upprepa tills ett svar utelämnar
next_page_tokeneller returnerar det som ett tomt värde. Det svaret är sista sidan. Fortsätt att begära sidor även om en sida inte innehåller några resultat. - Inkludera
page_tokeninte i den första förfrågan. Lägg till det endast för uppföljningsförfrågningar.
Parametern som styr sidstorleken varierar mellan API:er. Till exempel använder max_resultsvissa API:er , andra använder page_size, och andra använder limit. Kontrollera REST API-referensen för vilka parametrar varje endpoint stödjer.
Note
Vissa äldre Unity Catalog-API LIST:er returnerar bara resultat sidvis när du anger max_results. Ange max_results=0 så att servern väljer sidstorlek, eller sätt ett positivt värde för att begära en sidstorlek. För mer information, se Sidindela Unity Catalog REST API-operationer.
Hantera 429-svar om frekvensbegränsning
Databricks upprätthåller hastighetsbegränsningar på REST API-anrop för att hålla arbetsytorna responsiva under tung belastning. Begränsningar tillämpas per slutpunkt och per arbetsyta för att stödja rättvis användning och tillgänglighet. En begäran som överskrider hastighetsgränsen returnerar ett HTTP-svar 429 Too Many Requests .
Hantera 429-svar smidigt genom att försöka igen med exponentiellt ökande väntetid och jitter:
-
Exponentiell tillbakagång: Efter en
429, vänta innan du försöker igen, och dubbla väntetiden efter varje efterföljande429. Sätt en maximal väntetid och ett maxantal försök så att en begäran inte försöker igen på obestämd tid. - Jitter: Lägg till en liten slumpmässig tid på varje väntan. Jitter fördelar omförsök över tid från flera klienter så att de inte alla gör nya försök samtidigt och orsakar återkommande trafiktoppar.
- Om ett svar innehåller en
Retry-Afterrubrik, vänta minst så länge innan du försöker igen.
De flesta HTTP-klientbibliotek kan tillämpa detta återförsöksbeteende åt dig. För bakgrund om algoritmen, se Exponential backoff and jitter.
För de hastighetsgränser som gäller för specifika API:er, se API-hastighetsgränser i API-hastighetsgränser.
Begränsa svarsfält för bättre prestanda
Vissa LIST API:er returnerar fält som är dyra att beräkna eller som gör svaren stora. När du inte behöver dessa fält, använd de begäranarparametrar som utelämnar dem för att minska svarsstorleken och förbättra latensen.
Till exempel stöder Unity Catalog Tables API följande parametrar:
-
omit_properties=true: Utelämnarpropertiesfältet från varje tabell i svaret. -
omit_columns=true: Utelämnarcolumnsfältet från varje tabell i svaret.
Om du listar tabeller bara för att hämta deras namn, ger inställningen av båda parametrarna ett mindre svar och listar tabeller snabbare. Kontrollera REST API-referensen för de fälttrimmningsparametrar som varje slutpunkt stödjer.