Databricks Endpunkte

Zusammenfassung

Diese Endpunkte werden verwendet, um die Databricks-Integration innerhalb von Cloudability zu verwalten, die das Erstellen, Aktualisieren und Löschen von Databricks-Zugangsdaten innerhalb von Cloudability unterstützt.

Endpunktangaben

Endpunkt : /v3/vendors/databricks/accounts für RESTful-CRUD-Interaktionen

Endpunkt : /v3/vendors/databricks/accounts?include=permissions&viewId=0

Endpunkt : /v3/vendors/databricks/accounts/<account_id>?include=permissions&viewId=0

Endpunkt : /v3/vendors/databricks/accounts/<account_id>?viewId=0

Endpunkt : /v3/vendors/databricks/accounts/<account_id>/verification?include=permissions,associatedAccounts&viewId=0

Endpunkt : /v3/vendors/databricks/template

Endpunkt : /v3/vendors/databricks/accounts/<account_id>/archive?viewId=0

Endpunkt : /v3/vendors/databricks/permissions/accounts/<account_id>

Parameter

  • orgId (string) : Kennung der Organisation
  • accountId (string) : Databricks Konto-ID
  • secret (string) - Für den Dienst Principal User erstelltes Geheimnis
  • clientId (string) - Client Id, die für den Dienst Principal User erstellt wurde
  • Endpunkt (Zeichenfolge) – Databricks-Konto-Endpunkt
  • Arbeitsbereich(Zeichenfolge) – Arbeitsbereich- URL
  • warehouseId(string – Lager-ID)
  • dependentCsp(string) - “AWS” | “GCP”
  • activePaymentModel(string – „Vertrag mit festen Kosten“) | „Pay as you go“ (aktuelles aktives Zahlungsmodell)
  • paymentModel(string – „Verpflichtender Vertrag“) | „Pay as you go“ (Nach Verbrauch bezahlen)
  • rateLimit (int) - Diese Ratengrenze ist für die Art der Endpunkte in Databricks festgelegt

Konten auflisten

Beispielanfrage

curl 'https://api.cloudability.com/v3/vendors/databricks/accounts?viewId=0' \\ 
 -u ‘[auth_token]:’ 
Beispielantwort
{ 
"result": [ 
{ 
"id": "a11a1a1a-1a11-1aaa-11a1-a1111a11a11a", 
"vendorAccountName": "a11a1a1a-1a11-1aaa-11a1-a1111a11a11a", 
"vendorAccountId": "a11a1a1a-1a11-1aaa-11a1-a1111a11a11a", 
"vendorKey": "databricks", 
"verification": { 
"state": "verified", 
"lastVerificationAttemptedAt": "2026-02-09T10:14:20Z" 
}, 
"authorization": { 
"type": "databricks_user", 
"clientId": "b22222b2-b2b2-2222-b222-b2b22b2b2bb2", 
"subscriptionModel": "Direct", 
"dependentCsp": "AWS", 
"activePaymentModel": "Pay as you go", 
"contractDetails": [ 
{ 
"startDate": "2024-02-01", 
"endDate": "2024-03-31", 
"discount": 10, 
"paymentModel": "Committed Contract" 
}, 
{ 
"startDate": "2024-04-01", 
"endDate": "2024-04-30", 
"discount": 5, 
"paymentModel": "Committed Contract" 
}, 
{ 
"startDate": "2024-06-01", 
"endDate": "2024-10-31", 
"discount": 15, 
"paymentModel": "Committed Contract" 
}, 
{ 
"startDate": "2024-11-01", 
"endDate": "", 
"discount": 0, 
"paymentModel": "Pay as you go" 
} 
], 
"workspace": "workspace.cloud.databricks.com", 
"warehouseId": "1aa11111a111a11a" 
}, 
"createdAt": "2024-08-14T08:13:42Z", 
"consumerOrgId": "", 
"byodVendor": "ABSENT" 
} 
] 
} 

Konto erstellen

POST /v3/vendors/databricks/accounts?viewId=0

Beispielanfrage

curl -X POST 'https://api.cloudability.com/v3/vendors/databricks/accounts?viewId=0\\ 
-H 'Content-Type: application/json' \\ 
-u ‘[auth_token]:’ \\ 
-d @- << EOF 
{ 
"vendorAccountId": "a11a1a1a-1a11-1aaa-11a1-a1111a11a11a", 
"clientId": "b22222b2-b2b2-2222-b222-b2b22b2b2bb2", 
"secret": "secret", 
"workspace": "<Workspace-URL>", 
"warehouseId": "workspace.cloud.databricks.com", 
"subscriptionModel": "Direct", 
"dependentCsp": "AWS", 
"activePaymentModel": "Pay as you go", 
"contractDetails": [ 
{ 
"startDate": "2026-02-09", 
"endDate": null, 
"discount": null, 
"paymentModel": "Pay as you go" 
} 
], 
"type": "databricks_user" 
} 

Nach erfolgreicher Erstellung gibt die API das Anmeldeobjekt zurück.

Konto aktualisieren

PUT /v3/vendors/databricks/accounts/<account_id>?include=permissions&viewId=0

Beispielanfrage

curl -X PUT 'https://api.cloudability.com/v3/vendors/databricks/accounts/<account_id>?viewId=0\\ 
-H 'Content-Type: application/json' \\ 
-u ‘[auth_token]:’ \\ 
-d @- << EOF 
{ 
"vendorAccountId": "a11a1a1a-1a11-1aaa-11a1-a1111a11a11a", 
"clientId": "b22222b2-b2b2-2222-b222-b2b22b2b2bb2", 
"secret": "secret-2", 
"workspace": "<Workspace-URL>", 
"warehouseId": "workspace.cloud.databricks.com", 
"subscriptionModel": "Direct", 
"dependentCsp": "AWS", 
"activePaymentModel": "Pay as you go", 
"contractDetails": [ 
{ 
"startDate": "2026-02-09", 
"endDate": null, 
"discount": null, 
"paymentModel": "Pay as you go" 
} 
], 
"type": "databricks_user" 
} 

Konto abrufen

GET /v3/vendors/databricks/accounts/<account_id>?viewId=0

Beispielanfrage

curl 
'https://api.cloudability.com/v3/vendors/databricks/accounts/<account_id>’\\ 
-u ‘[auth_token]:’ 

Anmeldeinformationen für Konto löschen

DELETE /v3/vendors/databricks/accounts/<account_id>?viewId=0

Beispielanfrage

curl -X DELETE 
'https://api.cloudability.com/v3/vendors/databricks/accounts/<account_id>?viewId=0\\ 
-u ‘[auth_token]:’ 

Anmeldedaten für Konto überprüfen

POST v3/vendors/databricks/accounts/<account_id>/verification?include=permissions,associatedAccounts&viewId=0

Beispielanfrage

curl --X POST 
'https://api.cloudability.com/v3/vendors/databricks/accounts/<account_id>/verification?include=permissions,associatedAccounts&viewId=0’\\ 
-u ‘[auth_token]:’ 

Konto archivieren

POST /v3/vendors/databricks/accounts/<account_id>/archive?viewId=0

Beispielanfrage

curl --X POST 
'https://api.cloudability.com/v3/vendors/databricks/accounts/<account_id>archive?viewId=0’\\ 
-u ‘[auth_token]:’ 

Berechtigungen für Konto einholen

GET /v3/vendors/databricks/permissions/accounts/<account_id>

Beispielanfrage

curl --X GET 
'https://api.cloudability.com/v3/vendors/databricks/permissions/accounts/<account_id>’ 
\\ 
-u ‘[auth_token]:’ 

Databricks-Vorlage – Diese API wird verwendet, um das Vorlagen-Notebook abzurufen.

Beispielanfrage

curl 'https://api.cloudability.com/v3/vendors/databricks/template' \\ 
 -u ‘[auth_token]:’ 

Beispielantwort

{ 
"result": { 
"scripts": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {\n \"byteLimit\": 2048000,\n \"rowLimit\": 10000\n },\n \"inputWidgets\": {},\n \"nuid\": \"84259o57-91oo-476d-80c2-oo558oo4d0oo\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"spark.conf.set('spark.databricks.delta.schema.autoMerge.enabled', 'true')\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"o52oo419-o40o-490o-8240-ooo40747oo9o\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"DESCRIBE system.billing.list_prices;\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"o4119o19-oo23-4o9o-o206-634o75324oo4\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"DESCRIBE system.billing.usage;\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"468oo531-498o-41oo-oooo-o1o813oo6o14\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"CREATE CATALOG IF NOT EXISTS billing_data;\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"2oo2o5o0-89o3-4ooo-o482-14o632oo6o1o\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"CREATE SCHEMA IF NOT EXISTS billing_data.billing_data_schema;\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"833oooo4-oo95-45oo-o5o8-94oo445o8o50\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"CREATE TABLE IF NOT EXISTS billing_data.billing_data_schema.billing_materialized_view (\\n\",\n \" account_id STRING,\\n\",\n \" workspace_id STRING,\\n\",\n \" record_id STRING,\\n\",\n \" sku_name STRING,\\n\",\n \" cloud STRING,\\n\",\n \" usage_start_time TIMESTAMP,\\n\",\n \" usage_end_time TIMESTAMP,\\n\",\n \" usage_date DATE,\\n\",\n \" custom_tags MAP\u003cSTRING, STRING\u003e,\\n\",\n \" usage_unit STRING,\\n\",\n \" usage_quantity DECIMAL(38,18),\\n\",\n \" usage_metadata STRUCT\u003c\\n\",\n \" cluster_id: STRING,\\n\",\n \" job_id: STRING,\\n\",\n \" warehouse_id: STRING,\\n\",\n \" instance_pool_id: STRING,\\n\",\n \" node_type: STRING,\\n\",\n \" job_run_id: STRING,\\n\",\n \" notebook_id: STRING,\\n\",\n \" dlt_pipeline_id: STRING,\\n\",\n \" endpoint_name: STRING,\\n\",\n \" endpoint_id: STRING,\\n\",\n \" dlt_update_id: STRING,\\n\",\n \" dlt_maintenance_id: STRING,\\n\",\n \" run_name: STRING\\n\",\n \" \u003e,\\n\",\n \" identity_metadata STRUCT\u003crun_as: STRING\u003e,\\n\",\n \" record_type STRING,\\n\",\n \" ingestion_date DATE,\\n\",\n \" billing_origin_product STRING,\\n\",\n \" product_features STRUCT\u003c\\n\",\n \" jobs_tier: STRING,\\n\",\n \" sql_tier: STRING,\\n\",\n \" dlt_tier: STRING,\\n\",\n \" is_serverless: BOOLEAN,\\n\",\n \" is_photon: BOOLEAN,\\n\",\n \" serving_type: STRING\\n\",\n \" \u003e,\\n\",\n \" usage_type STRING,\\n\",\n \" report_period STRING,\\n\",\n \" unit_cost DECIMAL(38,18),\\n\",\n \" list_cost DECIMAL(38,6),\\n\",\n \" currency STRING,\\n\",\n \" price_start_time TIMESTAMP,\\n\",\n \" price_end_time TIMESTAMP\\n\",\n \")\\n\",\n \"USING DELTA;\\n\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"6ooo649o-58o5-4705-o089-o761o0oo65o9\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"select * from billing_data.billing_data_schema.billing_materialized_view limit 1\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"3oo83180-83o0-40o2-ooo2-o5oo3o8o07o8\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"TRUNCATE TABLE billing_data.billing_data_schema.billing_materialized_view\"\n ]\n },\n {\n \"cell_type\": \"code\",\n \"execution_count\": 0,\n \"metadata\": {\n \"application/vnd.databricks.v1+cell\": {\n \"cellMetadata\": {},\n \"inputWidgets\": {},\n \"nuid\": \"24o4o239-oo29-4o15-9ooo-57o9o4o6o966\",\n \"showTitle\": false,\n \"title\": \"\"\n }\n },\n \"outputs\": [],\n \"source\": [\n \"%sql\\n\",\n \"INSERT OVERWRITE TABLE billing_data.billing_data_schema.billing_materialized_view\\n\",\n \"SELECT \\n\",\n \" t1.account_id,\\n\",\n \" t1.workspace_id,\\n\",\n \" t1.record_id,\\n\",\n \" t1.sku_name,\\n\",\n \" t1.cloud,\\n\",\n \" t1.usage_start_time,\\n\",\n \" t1.usage_end_time,\\n\",\n \" t1.usage_date,\\n\",\n \" t1.custom_tags,\\n\",\n \" t1.usage_unit,\\n\",\n \" t1.usage_quantity,\\n\",\n \" t1.usage_metadata,\\n\",\n \" t1.identity_metadata,\\n\",\n \" t1.record_type,\\n\",\n \" t1.ingestion_date,\\n\",\n \" t1.billing_origin_product,\\n\",\n \" t1.product_features,\\n\",\n \" t1.usage_type,\\n\",\n \" DATE_FORMAT(t1.usage_start_time, 'yyyy-MM') AS report_period,\\n\",\n \" list_prices.pricing.default AS unit_cost,\\n\",\n \" (t1.usage_quantity * list_prices.pricing.default) AS list_cost,\\n\",\n \" list_prices.currency_code AS currency,\\n\",\n \" list_prices.price_start_time,\\n\",\n \" list_prices.price_end_time\\n\",\n \"FROM \\n\",\n \" system.billing.usage t1\\n\",\n \"INNER JOIN \\n\",\n \" system.billing.list_prices list_prices \\n\",\n \"ON\\n\",\n \" t1.cloud = list_prices.cloud AND\\n\",\n \" t1.sku_name = list_prices.sku_name AND\\n\",\n \" t1.usage_start_time \u003e= list_prices.price_start_time AND\\n\",\n \" (t1.usage_end_time \u003c= list_prices.price_end_time OR list_prices.price_end_time IS NULL);\\n\"\n ]\n }\n ],\n \"metadata\": {\n \"application/vnd.databricks.v1+notebook\": {\n \"dashboards\": [],\n \"environmentMetadata\": null,\n \"language\": \"python\",\n \"notebookMetadata\": {\n \"mostRecentlyExecutedCommandWithImplicitDF\": {\n \"commandId\": 2555185811237458,\n \"dataframes\": [\n \"_sqldf\"\n ]\n },\n \"pythonIndentUnit\": 4\n },\n \"notebookName\": \"databricks_billing_details\",\n \"widgets\": {}\n }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}" 
} 
}