Datacihly REST API Reference
Azure Databricks & strojírenství a datacihly pro datové vědy Machine Learning mít tři rozhraní REST api, která provádějí různé úlohy: &, 2,0a 1,2. Pro obecnou správu použijte rozhraní API 2,1 a 2,0. Rozhraní API 1,2 umožňuje spouštět příkazy přímo na Azure Databricks.
Důležité
Pokud chcete získat přístup k rozhraním REST API služby Databricks, musíte použít ověřování.
referenční příručky pro rozhraní REST api, která používáte při práci s datacihly pro datové cihly & a Machine Learningy datacihly, jsou zahrnuty v této části. Můžete také přejít přímo na domovské stránky REST API pro nejnovější verzi nebo verze 2,1, 2,0nebo 1,2. datacihly SQL rozhraní REST api jsou součástí příručky datacihly SQL on datacihles SQL reference k rozhraní API. datacihly Machine Learning také poskytují python api pro úložiště funkcí; viz funkce datacihly úložiště python API.
Rozhraní API
- Rozhraní API clusterů 2,0
- Zásady clusteru – rozhraní API 2,0
- Rozhraní DBFS API 2,0
- Rozhraní API pro Global init Scripting 2,0
- Rozhraní API skupin 2,0
- Rozhraní API fondů instancí 2,0
- Rozhraní API pro seznam přístupu k IP 2,0
- Rozhraní API pro úlohy 2,1, 2,0
- Rozhraní API knihoven 2,0
- Rozhraní MLflow API 2,0
- Rozhraní API pro oprávnění 2,0
- rozhraní Repos API 2,0
- Rozhraní SCIM API 2,0
- Rozhraní API tajných klíčů 2,0
- Token API 2,0
- Rozhraní API pro správu tokenů 2,0
- Rozhraní API pro pracovní prostor 2,0
- Rozhraní API 1,2
Authentication
Informace o ověřování v rozhraní REST API pomocí tokenů PAT najdete v tématu Ověřování pomocí tokenů PAT služby Azure Databricks.
Informace o ověřování v rozhraní REST API pomocí tokenů Azure Active Directory najdete v tématu Ověřování pomocí tokenů Azure Active Directory. Příklady najdete v částech Použití přístupového tokenu Azure AD pro uživatele a Použití přístupového tokenu Azure AD pro instanční objekt.
Ukázky rozhraní API najdete v tématu Ukázky rozhraní API.
Omezení přenosové rychlosti
Za účelem zajištění vysoké kvality služby v případě vysoké zátěže služba Databricks vynucuje omezení přenosové rychlosti pro všechna volání REST API. Omezení se nastavují na koncový bod a na pracovní prostor, aby se zajistilo spravedlivé využití a vysoká dostupnost. Pokud chcete požádat o zvýšení limitu, obraťte se na zástupce Databricks.
Požadavky, které toto omezení přenosové rychlosti překročí, vrací stavový kód odpovědi 429.
Parsování výstupu
Někdy může být užitečné parsováním získat části výstupu JSON. Datacihly doporučuje nástroj jq pro analýzu JSON. můžete nainstalovat jq na Linux prostřednictvím jq, v macOS pomocí Homebrew s brew install jq , nebo na Windows pomocí čokolády choco install jq . Další informace o najdete v jqjq.
Tento příklad obsahuje seznam názvů a ID dostupných clusterů v zadaném pracovním prostoru. V tomto příkladu se používá soubor. netrc.
curl --netrc -X GET https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list \
| jq '[ .clusters[] | { id: .cluster_id, name: .cluster_name } ]'
[
{
"id": "1234-567890-batch123",
"name": "My Cluster 1"
},
{
"id": "2345-678901-rigs234",
"name": "My Cluster 2"
}
]
Kompatibilita
Odpovědi na stejnou verzi rozhraní API nebudou z výstupu JSON odebírat žádné pole. Rozhraní API však může do výstupu JSON přidat nová pole bez zvýšení verze rozhraní API. Vaše programové pracovní postupy musí tyto dodatky znát a ignorovat neznámá pole.
Některá STRING pole (obsahující chyby a popisné zprávy, které má používat uživatelské rozhraní), jsou nestrukturovaná a v programových pracovních postupech byste neměli záviset na formátu těchto polí.
K vyvolání datacihly použijte oblé REST API
kudrlinkou je oblíbený nástroj pro přenos dat na servery a ze serverů. Tato část poskytuje konkrétní informace o použití metody kudrlinkou k vyvolání REST API datacihly.
Vyvolání příkazu GET pomocí řetězce dotazu
I když většina volání rozhraní API vyžaduje, abyste zadali tělo JSON, pro GET volání můžete zadat řetězec dotazu tak, že ho připojíte za ? a okolní adresu URL v uvozovkách. Pokud použijete curl , můžete zadat --get (nebo) -G a --data (nebo -d ) společně s řetězcem dotazu; v UVOZOVKÁCH není nutné uzavřít adresu URL ani řetězec dotazu.
V následujících příkladech nahraďte adb-1234567890123456.7.azuredatabricks.netadb-1234567890123456.7.azuredatabricks.net nasazení Azure Databricks. Měl by začínat na adb- . Nepoužívejte zastaralou adresu URL oblasti začínající <azure-region-name>. Nemusí fungovat pro nové pracovní prostory, bude méně spolehlivá a bude mít nižší výkon než adresy URL pro jednotlivé pracovní prostory.
Tento příklad vytiskne informace o zadaném clusteru. V tomto příkladu se používá soubor. netrc.
Používá se ? :
curl --netrc 'https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/get?cluster_id=1234-567890-patch123'
Pomocí --get a --data :
curl --netrc --get \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/get \
--data cluster_id=1234-567890-batch123
{
"cluster_id": "1234-567890-batch123",
"driver": {
"node_id": "123ab456789012345cd67e8e90123f45",
"instance_id": "234ab456789012345cd67e8e90123f45",
"start_timestamp": 1618448261567,
"host_private_ip": "10.0.0.0",
"private_ip": "10.0.0.0"
},
...
}
Tento příklad vypíše obsah kořene DBFS. V tomto příkladu se používá soubor. netrc.
curl --netrc --get \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/dbfs/list \
--data path=/
"files": [
{
"path": "/tmp",
"is_dir": true,
"file_size": 0,
"modification_time": 1547078156000
},
{
"path": "/my_file.txt",
"is_dir": false,
"file_size": 40,
"modification_time": 1541374426000
},
...
]
Použijte Python k vyvolání REST API datacihly
požadavky jsou oblíbená knihovna pro vytváření požadavků HTTP v Pythonu. V tomto příkladu se používá requests Knihovna k vypsání informací o zadaném clusteru Azure Databricks. V tomto příkladu se používá soubor. netrc.
import requests
import json
instance_id = 'adb-1234567890123456.7.azuredatabricks.net'
api_version = '/api/2.0'
api_command = '/clusters/get'
url = f"https://{instance_id}{api_version}{api_command}"
params = {
'cluster_id': '1234-567890-batch123'
}
response = requests.get(
url = url,
params = params
)
print(json.dumps(json.loads(response.text), indent = 2))
{
"cluster_id": "1234-567890-batch123",
"driver": {
...
},
"spark_context_id": 1234567890123456789,
...
}
Použití PowerShellu k vyvolání REST API datacihly
V tomto příkladu se pomocí rutiny Invoke-RestMethod v prostředí PowerShell vypíše informace o zadaném clusteru Azure Databricks.
$Token = 'dapia1b2345678901c23456defa7bcde8fa9'
$ConvertedToken = $Token | ConvertTo-SecureString -AsPlainText -Force
$InstanceID = 'adb-1234567890123456.7.azuredatabricks.net'
$APIVersion = '/api/2.0'
$APICommand = '/clusters/get'
$Uri = "https://$InstanceID$APIVersion$APICommand"
$Body = @{
'cluster_id' = '1234-567890-batch123'
}
$Response = Invoke-RestMethod `
-Authentication Bearer `
-Token $ConvertedToken `
-Method Get `
-Uri $Uri `
-Body $Body
Write-Output $Response
cluster_id : 1234-567890-batch123
driver : ...
spark_context_id : 1234567890123456789
...
Řetězce verzí modulu runtime
Řada volání rozhraní API vyžaduje zadání řetězce verze modulu Databricks Runtime. Tato část popisuje strukturu řetězce verze v rozhraní Databricks REST API.
<M>.<F>.x[-cpu][-esr][-gpu][-ml][-photon][-hls]-scala<scala-version>
kde:
M: Databricks Runtime hlavní vydaná verzeF: Databricks Runtime vydání funkcecpu: Verze procesoru (-mljenom s)esr: Rozšířená podporagpu:gpuml:mlphoton:photonhls:hls(zastaralé)scala-version: verze Scala použitá ke kompilaci Spark: 2,10, 2,11 nebo 2,12
Například:
7.6.x-gpu-ml-scala2.12představuje Databricks Runtime 7,6 pro Machine Learning, je povolený grafický procesor a používá Scala verze 2,12 ke kompilaci Spark verze 3.0.1.6.4.x-esr-scala2.11představuje rozšířenou podporu Databricks Runtime 6,4 a používá Scala verze 2,11 ke kompilaci Spark verze 2.4.5.
Podporované verze modulu runtime datacihly a plány podpory a nepodporované verze tabulky mapují Databricks runtime verze na verzi Sparku obsaženou v modulu runtime.
Seznam dostupných Azure Databricksch řetězců běhové verze můžete získat voláním rozhraní API verze modulu runtime .
Databricks Light
apache-spark.<M>.<F>.x-scala<scala-version>
kde:
M: Apache Spark hlavní vydaná verzeF: Apache Spark vydání funkcescala-version: verze Scala použitá ke kompilaci Spark: 2,10 nebo 2,11
Například, apache-spark-2.4.x-scala2.11.