databricks-sdk 0.57.0__py3-none-any.whl → 0.59.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of databricks-sdk might be problematic. Click here for more details.
- databricks/sdk/__init__.py +38 -9
- databricks/sdk/service/aibuilder.py +0 -163
- databricks/sdk/service/apps.py +53 -49
- databricks/sdk/service/billing.py +62 -223
- databricks/sdk/service/catalog.py +3052 -3707
- databricks/sdk/service/cleanrooms.py +5 -54
- databricks/sdk/service/compute.py +579 -2715
- databricks/sdk/service/dashboards.py +108 -317
- databricks/sdk/service/database.py +603 -122
- databricks/sdk/service/files.py +2 -218
- databricks/sdk/service/iam.py +19 -298
- databricks/sdk/service/jobs.py +77 -1263
- databricks/sdk/service/marketplace.py +3 -575
- databricks/sdk/service/ml.py +816 -2734
- databricks/sdk/service/oauth2.py +122 -238
- databricks/sdk/service/pipelines.py +133 -724
- databricks/sdk/service/provisioning.py +36 -757
- databricks/sdk/service/qualitymonitorv2.py +0 -18
- databricks/sdk/service/serving.py +37 -583
- databricks/sdk/service/settings.py +282 -1768
- databricks/sdk/service/sharing.py +6 -478
- databricks/sdk/service/sql.py +129 -1696
- databricks/sdk/service/vectorsearch.py +0 -410
- databricks/sdk/service/workspace.py +252 -727
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/RECORD +31 -31
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/top_level.txt +0 -0
|
@@ -253,42 +253,6 @@ class DashboardView(Enum):
|
|
|
253
253
|
DASHBOARD_VIEW_BASIC = "DASHBOARD_VIEW_BASIC"
|
|
254
254
|
|
|
255
255
|
|
|
256
|
-
@dataclass
|
|
257
|
-
class DeleteScheduleResponse:
|
|
258
|
-
def as_dict(self) -> dict:
|
|
259
|
-
"""Serializes the DeleteScheduleResponse into a dictionary suitable for use as a JSON request body."""
|
|
260
|
-
body = {}
|
|
261
|
-
return body
|
|
262
|
-
|
|
263
|
-
def as_shallow_dict(self) -> dict:
|
|
264
|
-
"""Serializes the DeleteScheduleResponse into a shallow dictionary of its immediate attributes."""
|
|
265
|
-
body = {}
|
|
266
|
-
return body
|
|
267
|
-
|
|
268
|
-
@classmethod
|
|
269
|
-
def from_dict(cls, d: Dict[str, Any]) -> DeleteScheduleResponse:
|
|
270
|
-
"""Deserializes the DeleteScheduleResponse from a dictionary."""
|
|
271
|
-
return cls()
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
@dataclass
|
|
275
|
-
class DeleteSubscriptionResponse:
|
|
276
|
-
def as_dict(self) -> dict:
|
|
277
|
-
"""Serializes the DeleteSubscriptionResponse into a dictionary suitable for use as a JSON request body."""
|
|
278
|
-
body = {}
|
|
279
|
-
return body
|
|
280
|
-
|
|
281
|
-
def as_shallow_dict(self) -> dict:
|
|
282
|
-
"""Serializes the DeleteSubscriptionResponse into a shallow dictionary of its immediate attributes."""
|
|
283
|
-
body = {}
|
|
284
|
-
return body
|
|
285
|
-
|
|
286
|
-
@classmethod
|
|
287
|
-
def from_dict(cls, d: Dict[str, Any]) -> DeleteSubscriptionResponse:
|
|
288
|
-
"""Deserializes the DeleteSubscriptionResponse from a dictionary."""
|
|
289
|
-
return cls()
|
|
290
|
-
|
|
291
|
-
|
|
292
256
|
@dataclass
|
|
293
257
|
class GenieAttachment:
|
|
294
258
|
"""Genie AI Response"""
|
|
@@ -410,123 +374,104 @@ class GenieConversation:
|
|
|
410
374
|
|
|
411
375
|
|
|
412
376
|
@dataclass
|
|
413
|
-
class
|
|
414
|
-
|
|
415
|
-
"""User message content."""
|
|
377
|
+
class GenieConversationSummary:
|
|
378
|
+
conversation_id: str
|
|
416
379
|
|
|
417
|
-
|
|
418
|
-
"""The ID associated with the conversation."""
|
|
380
|
+
title: str
|
|
419
381
|
|
|
420
|
-
|
|
421
|
-
"""The ID associated with the Genie space where the conversation is started."""
|
|
382
|
+
created_timestamp: int
|
|
422
383
|
|
|
423
384
|
def as_dict(self) -> dict:
|
|
424
|
-
"""Serializes the
|
|
385
|
+
"""Serializes the GenieConversationSummary into a dictionary suitable for use as a JSON request body."""
|
|
425
386
|
body = {}
|
|
426
|
-
if self.content is not None:
|
|
427
|
-
body["content"] = self.content
|
|
428
387
|
if self.conversation_id is not None:
|
|
429
388
|
body["conversation_id"] = self.conversation_id
|
|
430
|
-
if self.
|
|
431
|
-
body["
|
|
389
|
+
if self.created_timestamp is not None:
|
|
390
|
+
body["created_timestamp"] = self.created_timestamp
|
|
391
|
+
if self.title is not None:
|
|
392
|
+
body["title"] = self.title
|
|
432
393
|
return body
|
|
433
394
|
|
|
434
395
|
def as_shallow_dict(self) -> dict:
|
|
435
|
-
"""Serializes the
|
|
396
|
+
"""Serializes the GenieConversationSummary into a shallow dictionary of its immediate attributes."""
|
|
436
397
|
body = {}
|
|
437
|
-
if self.content is not None:
|
|
438
|
-
body["content"] = self.content
|
|
439
398
|
if self.conversation_id is not None:
|
|
440
399
|
body["conversation_id"] = self.conversation_id
|
|
441
|
-
if self.
|
|
442
|
-
body["
|
|
400
|
+
if self.created_timestamp is not None:
|
|
401
|
+
body["created_timestamp"] = self.created_timestamp
|
|
402
|
+
if self.title is not None:
|
|
403
|
+
body["title"] = self.title
|
|
443
404
|
return body
|
|
444
405
|
|
|
445
406
|
@classmethod
|
|
446
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
447
|
-
"""Deserializes the
|
|
407
|
+
def from_dict(cls, d: Dict[str, Any]) -> GenieConversationSummary:
|
|
408
|
+
"""Deserializes the GenieConversationSummary from a dictionary."""
|
|
448
409
|
return cls(
|
|
449
|
-
content=d.get("content", None),
|
|
450
410
|
conversation_id=d.get("conversation_id", None),
|
|
451
|
-
|
|
411
|
+
created_timestamp=d.get("created_timestamp", None),
|
|
412
|
+
title=d.get("title", None),
|
|
452
413
|
)
|
|
453
414
|
|
|
454
415
|
|
|
455
416
|
@dataclass
|
|
456
|
-
class
|
|
457
|
-
download_id: Optional[str] = None
|
|
458
|
-
"""Download ID. Use this ID to track the download request in subsequent polling calls"""
|
|
459
|
-
|
|
460
|
-
def as_dict(self) -> dict:
|
|
461
|
-
"""Serializes the GenieGenerateDownloadFullQueryResultResponse into a dictionary suitable for use as a JSON request body."""
|
|
462
|
-
body = {}
|
|
463
|
-
if self.download_id is not None:
|
|
464
|
-
body["download_id"] = self.download_id
|
|
465
|
-
return body
|
|
466
|
-
|
|
467
|
-
def as_shallow_dict(self) -> dict:
|
|
468
|
-
"""Serializes the GenieGenerateDownloadFullQueryResultResponse into a shallow dictionary of its immediate attributes."""
|
|
469
|
-
body = {}
|
|
470
|
-
if self.download_id is not None:
|
|
471
|
-
body["download_id"] = self.download_id
|
|
472
|
-
return body
|
|
473
|
-
|
|
474
|
-
@classmethod
|
|
475
|
-
def from_dict(cls, d: Dict[str, Any]) -> GenieGenerateDownloadFullQueryResultResponse:
|
|
476
|
-
"""Deserializes the GenieGenerateDownloadFullQueryResultResponse from a dictionary."""
|
|
477
|
-
return cls(download_id=d.get("download_id", None))
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
@dataclass
|
|
481
|
-
class GenieGetDownloadFullQueryResultResponse:
|
|
417
|
+
class GenieGetMessageQueryResultResponse:
|
|
482
418
|
statement_response: Optional[sql.StatementResponse] = None
|
|
483
419
|
"""SQL Statement Execution response. See [Get status, manifest, and result first
|
|
484
420
|
chunk](:method:statementexecution/getstatement) for more details."""
|
|
485
421
|
|
|
486
422
|
def as_dict(self) -> dict:
|
|
487
|
-
"""Serializes the
|
|
423
|
+
"""Serializes the GenieGetMessageQueryResultResponse into a dictionary suitable for use as a JSON request body."""
|
|
488
424
|
body = {}
|
|
489
425
|
if self.statement_response:
|
|
490
426
|
body["statement_response"] = self.statement_response.as_dict()
|
|
491
427
|
return body
|
|
492
428
|
|
|
493
429
|
def as_shallow_dict(self) -> dict:
|
|
494
|
-
"""Serializes the
|
|
430
|
+
"""Serializes the GenieGetMessageQueryResultResponse into a shallow dictionary of its immediate attributes."""
|
|
495
431
|
body = {}
|
|
496
432
|
if self.statement_response:
|
|
497
433
|
body["statement_response"] = self.statement_response
|
|
498
434
|
return body
|
|
499
435
|
|
|
500
436
|
@classmethod
|
|
501
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
502
|
-
"""Deserializes the
|
|
437
|
+
def from_dict(cls, d: Dict[str, Any]) -> GenieGetMessageQueryResultResponse:
|
|
438
|
+
"""Deserializes the GenieGetMessageQueryResultResponse from a dictionary."""
|
|
503
439
|
return cls(statement_response=_from_dict(d, "statement_response", sql.StatementResponse))
|
|
504
440
|
|
|
505
441
|
|
|
506
442
|
@dataclass
|
|
507
|
-
class
|
|
508
|
-
|
|
509
|
-
"""
|
|
510
|
-
|
|
443
|
+
class GenieListConversationsResponse:
|
|
444
|
+
conversations: Optional[List[GenieConversationSummary]] = None
|
|
445
|
+
"""List of conversations in the Genie space"""
|
|
446
|
+
|
|
447
|
+
next_page_token: Optional[str] = None
|
|
448
|
+
"""Token to get the next page of results"""
|
|
511
449
|
|
|
512
450
|
def as_dict(self) -> dict:
|
|
513
|
-
"""Serializes the
|
|
451
|
+
"""Serializes the GenieListConversationsResponse into a dictionary suitable for use as a JSON request body."""
|
|
514
452
|
body = {}
|
|
515
|
-
if self.
|
|
516
|
-
body["
|
|
453
|
+
if self.conversations:
|
|
454
|
+
body["conversations"] = [v.as_dict() for v in self.conversations]
|
|
455
|
+
if self.next_page_token is not None:
|
|
456
|
+
body["next_page_token"] = self.next_page_token
|
|
517
457
|
return body
|
|
518
458
|
|
|
519
459
|
def as_shallow_dict(self) -> dict:
|
|
520
|
-
"""Serializes the
|
|
460
|
+
"""Serializes the GenieListConversationsResponse into a shallow dictionary of its immediate attributes."""
|
|
521
461
|
body = {}
|
|
522
|
-
if self.
|
|
523
|
-
body["
|
|
462
|
+
if self.conversations:
|
|
463
|
+
body["conversations"] = self.conversations
|
|
464
|
+
if self.next_page_token is not None:
|
|
465
|
+
body["next_page_token"] = self.next_page_token
|
|
524
466
|
return body
|
|
525
467
|
|
|
526
468
|
@classmethod
|
|
527
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
528
|
-
"""Deserializes the
|
|
529
|
-
return cls(
|
|
469
|
+
def from_dict(cls, d: Dict[str, Any]) -> GenieListConversationsResponse:
|
|
470
|
+
"""Deserializes the GenieListConversationsResponse from a dictionary."""
|
|
471
|
+
return cls(
|
|
472
|
+
conversations=_repeated_dict(d, "conversations", GenieConversationSummary),
|
|
473
|
+
next_page_token=d.get("next_page_token", None),
|
|
474
|
+
)
|
|
530
475
|
|
|
531
476
|
|
|
532
477
|
@dataclass
|
|
@@ -595,20 +540,6 @@ class GenieMessage:
|
|
|
595
540
|
`query_result_metadata` in `GenieQueryAttachment` instead."""
|
|
596
541
|
|
|
597
542
|
status: Optional[MessageStatus] = None
|
|
598
|
-
"""MessageStatus. The possible values are: * `FETCHING_METADATA`: Fetching metadata from the data
|
|
599
|
-
sources. * `FILTERING_CONTEXT`: Running smart context step to determine relevant context. *
|
|
600
|
-
`ASKING_AI`: Waiting for the LLM to respond to the user's question. * `PENDING_WAREHOUSE`:
|
|
601
|
-
Waiting for warehouse before the SQL query can start executing. * `EXECUTING_QUERY`: Executing a
|
|
602
|
-
generated SQL query. Get the SQL query result by calling
|
|
603
|
-
[getMessageAttachmentQueryResult](:method:genie/getMessageAttachmentQueryResult) API. *
|
|
604
|
-
`FAILED`: The response generation or query execution failed. See `error` field. * `COMPLETED`:
|
|
605
|
-
Message processing is completed. Results are in the `attachments` field. Get the SQL query
|
|
606
|
-
result by calling
|
|
607
|
-
[getMessageAttachmentQueryResult](:method:genie/getMessageAttachmentQueryResult) API. *
|
|
608
|
-
`SUBMITTED`: Message has been submitted. * `QUERY_RESULT_EXPIRED`: SQL result is not available
|
|
609
|
-
anymore. The user needs to rerun the query. Rerun the SQL query result by calling
|
|
610
|
-
[executeMessageAttachmentQuery](:method:genie/executeMessageAttachmentQuery) API. * `CANCELLED`:
|
|
611
|
-
Message has been cancelled."""
|
|
612
543
|
|
|
613
544
|
user_id: Optional[int] = None
|
|
614
545
|
"""ID of the user who created the message"""
|
|
@@ -836,38 +767,6 @@ class GenieSpace:
|
|
|
836
767
|
return cls(description=d.get("description", None), space_id=d.get("space_id", None), title=d.get("title", None))
|
|
837
768
|
|
|
838
769
|
|
|
839
|
-
@dataclass
|
|
840
|
-
class GenieStartConversationMessageRequest:
|
|
841
|
-
content: str
|
|
842
|
-
"""The text of the message that starts the conversation."""
|
|
843
|
-
|
|
844
|
-
space_id: Optional[str] = None
|
|
845
|
-
"""The ID associated with the Genie space where you want to start a conversation."""
|
|
846
|
-
|
|
847
|
-
def as_dict(self) -> dict:
|
|
848
|
-
"""Serializes the GenieStartConversationMessageRequest into a dictionary suitable for use as a JSON request body."""
|
|
849
|
-
body = {}
|
|
850
|
-
if self.content is not None:
|
|
851
|
-
body["content"] = self.content
|
|
852
|
-
if self.space_id is not None:
|
|
853
|
-
body["space_id"] = self.space_id
|
|
854
|
-
return body
|
|
855
|
-
|
|
856
|
-
def as_shallow_dict(self) -> dict:
|
|
857
|
-
"""Serializes the GenieStartConversationMessageRequest into a shallow dictionary of its immediate attributes."""
|
|
858
|
-
body = {}
|
|
859
|
-
if self.content is not None:
|
|
860
|
-
body["content"] = self.content
|
|
861
|
-
if self.space_id is not None:
|
|
862
|
-
body["space_id"] = self.space_id
|
|
863
|
-
return body
|
|
864
|
-
|
|
865
|
-
@classmethod
|
|
866
|
-
def from_dict(cls, d: Dict[str, Any]) -> GenieStartConversationMessageRequest:
|
|
867
|
-
"""Deserializes the GenieStartConversationMessageRequest from a dictionary."""
|
|
868
|
-
return cls(content=d.get("content", None), space_id=d.get("space_id", None))
|
|
869
|
-
|
|
870
|
-
|
|
871
770
|
@dataclass
|
|
872
771
|
class GenieStartConversationResponse:
|
|
873
772
|
message_id: str
|
|
@@ -1185,102 +1084,6 @@ class MessageStatus(Enum):
|
|
|
1185
1084
|
SUBMITTED = "SUBMITTED"
|
|
1186
1085
|
|
|
1187
1086
|
|
|
1188
|
-
@dataclass
|
|
1189
|
-
class MigrateDashboardRequest:
|
|
1190
|
-
source_dashboard_id: str
|
|
1191
|
-
"""UUID of the dashboard to be migrated."""
|
|
1192
|
-
|
|
1193
|
-
display_name: Optional[str] = None
|
|
1194
|
-
"""Display name for the new Lakeview dashboard."""
|
|
1195
|
-
|
|
1196
|
-
parent_path: Optional[str] = None
|
|
1197
|
-
"""The workspace path of the folder to contain the migrated Lakeview dashboard."""
|
|
1198
|
-
|
|
1199
|
-
update_parameter_syntax: Optional[bool] = None
|
|
1200
|
-
"""Flag to indicate if mustache parameter syntax ({{ param }}) should be auto-updated to named
|
|
1201
|
-
syntax (:param) when converting datasets in the dashboard."""
|
|
1202
|
-
|
|
1203
|
-
def as_dict(self) -> dict:
|
|
1204
|
-
"""Serializes the MigrateDashboardRequest into a dictionary suitable for use as a JSON request body."""
|
|
1205
|
-
body = {}
|
|
1206
|
-
if self.display_name is not None:
|
|
1207
|
-
body["display_name"] = self.display_name
|
|
1208
|
-
if self.parent_path is not None:
|
|
1209
|
-
body["parent_path"] = self.parent_path
|
|
1210
|
-
if self.source_dashboard_id is not None:
|
|
1211
|
-
body["source_dashboard_id"] = self.source_dashboard_id
|
|
1212
|
-
if self.update_parameter_syntax is not None:
|
|
1213
|
-
body["update_parameter_syntax"] = self.update_parameter_syntax
|
|
1214
|
-
return body
|
|
1215
|
-
|
|
1216
|
-
def as_shallow_dict(self) -> dict:
|
|
1217
|
-
"""Serializes the MigrateDashboardRequest into a shallow dictionary of its immediate attributes."""
|
|
1218
|
-
body = {}
|
|
1219
|
-
if self.display_name is not None:
|
|
1220
|
-
body["display_name"] = self.display_name
|
|
1221
|
-
if self.parent_path is not None:
|
|
1222
|
-
body["parent_path"] = self.parent_path
|
|
1223
|
-
if self.source_dashboard_id is not None:
|
|
1224
|
-
body["source_dashboard_id"] = self.source_dashboard_id
|
|
1225
|
-
if self.update_parameter_syntax is not None:
|
|
1226
|
-
body["update_parameter_syntax"] = self.update_parameter_syntax
|
|
1227
|
-
return body
|
|
1228
|
-
|
|
1229
|
-
@classmethod
|
|
1230
|
-
def from_dict(cls, d: Dict[str, Any]) -> MigrateDashboardRequest:
|
|
1231
|
-
"""Deserializes the MigrateDashboardRequest from a dictionary."""
|
|
1232
|
-
return cls(
|
|
1233
|
-
display_name=d.get("display_name", None),
|
|
1234
|
-
parent_path=d.get("parent_path", None),
|
|
1235
|
-
source_dashboard_id=d.get("source_dashboard_id", None),
|
|
1236
|
-
update_parameter_syntax=d.get("update_parameter_syntax", None),
|
|
1237
|
-
)
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
@dataclass
|
|
1241
|
-
class PublishRequest:
|
|
1242
|
-
dashboard_id: Optional[str] = None
|
|
1243
|
-
"""UUID identifying the dashboard to be published."""
|
|
1244
|
-
|
|
1245
|
-
embed_credentials: Optional[bool] = None
|
|
1246
|
-
"""Flag to indicate if the publisher's credentials should be embedded in the published dashboard.
|
|
1247
|
-
These embedded credentials will be used to execute the published dashboard's queries."""
|
|
1248
|
-
|
|
1249
|
-
warehouse_id: Optional[str] = None
|
|
1250
|
-
"""The ID of the warehouse that can be used to override the warehouse which was set in the draft."""
|
|
1251
|
-
|
|
1252
|
-
def as_dict(self) -> dict:
|
|
1253
|
-
"""Serializes the PublishRequest into a dictionary suitable for use as a JSON request body."""
|
|
1254
|
-
body = {}
|
|
1255
|
-
if self.dashboard_id is not None:
|
|
1256
|
-
body["dashboard_id"] = self.dashboard_id
|
|
1257
|
-
if self.embed_credentials is not None:
|
|
1258
|
-
body["embed_credentials"] = self.embed_credentials
|
|
1259
|
-
if self.warehouse_id is not None:
|
|
1260
|
-
body["warehouse_id"] = self.warehouse_id
|
|
1261
|
-
return body
|
|
1262
|
-
|
|
1263
|
-
def as_shallow_dict(self) -> dict:
|
|
1264
|
-
"""Serializes the PublishRequest into a shallow dictionary of its immediate attributes."""
|
|
1265
|
-
body = {}
|
|
1266
|
-
if self.dashboard_id is not None:
|
|
1267
|
-
body["dashboard_id"] = self.dashboard_id
|
|
1268
|
-
if self.embed_credentials is not None:
|
|
1269
|
-
body["embed_credentials"] = self.embed_credentials
|
|
1270
|
-
if self.warehouse_id is not None:
|
|
1271
|
-
body["warehouse_id"] = self.warehouse_id
|
|
1272
|
-
return body
|
|
1273
|
-
|
|
1274
|
-
@classmethod
|
|
1275
|
-
def from_dict(cls, d: Dict[str, Any]) -> PublishRequest:
|
|
1276
|
-
"""Deserializes the PublishRequest from a dictionary."""
|
|
1277
|
-
return cls(
|
|
1278
|
-
dashboard_id=d.get("dashboard_id", None),
|
|
1279
|
-
embed_credentials=d.get("embed_credentials", None),
|
|
1280
|
-
warehouse_id=d.get("warehouse_id", None),
|
|
1281
|
-
)
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
1087
|
@dataclass
|
|
1285
1088
|
class PublishedDashboard:
|
|
1286
1089
|
display_name: Optional[str] = None
|
|
@@ -1801,6 +1604,23 @@ class GenieAPI:
|
|
|
1801
1604
|
timeout=timeout
|
|
1802
1605
|
)
|
|
1803
1606
|
|
|
1607
|
+
def delete_conversation(self, space_id: str, conversation_id: str):
|
|
1608
|
+
"""Delete a conversation.
|
|
1609
|
+
|
|
1610
|
+
:param space_id: str
|
|
1611
|
+
The ID associated with the Genie space where the conversation is located.
|
|
1612
|
+
:param conversation_id: str
|
|
1613
|
+
The ID of the conversation to delete.
|
|
1614
|
+
|
|
1615
|
+
|
|
1616
|
+
"""
|
|
1617
|
+
|
|
1618
|
+
headers = {
|
|
1619
|
+
"Accept": "application/json",
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
self._api.do("DELETE", f"/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}", headers=headers)
|
|
1623
|
+
|
|
1804
1624
|
def execute_message_attachment_query(
|
|
1805
1625
|
self, space_id: str, conversation_id: str, message_id: str, attachment_id: str
|
|
1806
1626
|
) -> GenieGetMessageQueryResultResponse:
|
|
@@ -1856,75 +1676,6 @@ class GenieAPI:
|
|
|
1856
1676
|
)
|
|
1857
1677
|
return GenieGetMessageQueryResultResponse.from_dict(res)
|
|
1858
1678
|
|
|
1859
|
-
def generate_download_full_query_result(
|
|
1860
|
-
self, space_id: str, conversation_id: str, message_id: str, attachment_id: str
|
|
1861
|
-
) -> GenieGenerateDownloadFullQueryResultResponse:
|
|
1862
|
-
"""Initiates a new SQL execution and returns a `download_id` that you can use to track the progress of
|
|
1863
|
-
the download. The query result is stored in an external link and can be retrieved using the [Get
|
|
1864
|
-
Download Full Query Result](:method:genie/getdownloadfullqueryresult) API. Warning: Databricks
|
|
1865
|
-
strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.
|
|
1866
|
-
See [Execute Statement](:method:statementexecution/executestatement) for more details.
|
|
1867
|
-
|
|
1868
|
-
:param space_id: str
|
|
1869
|
-
Genie space ID
|
|
1870
|
-
:param conversation_id: str
|
|
1871
|
-
Conversation ID
|
|
1872
|
-
:param message_id: str
|
|
1873
|
-
Message ID
|
|
1874
|
-
:param attachment_id: str
|
|
1875
|
-
Attachment ID
|
|
1876
|
-
|
|
1877
|
-
:returns: :class:`GenieGenerateDownloadFullQueryResultResponse`
|
|
1878
|
-
"""
|
|
1879
|
-
|
|
1880
|
-
headers = {
|
|
1881
|
-
"Accept": "application/json",
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
res = self._api.do(
|
|
1885
|
-
"POST",
|
|
1886
|
-
f"/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads",
|
|
1887
|
-
headers=headers,
|
|
1888
|
-
)
|
|
1889
|
-
return GenieGenerateDownloadFullQueryResultResponse.from_dict(res)
|
|
1890
|
-
|
|
1891
|
-
def get_download_full_query_result(
|
|
1892
|
-
self, space_id: str, conversation_id: str, message_id: str, attachment_id: str, download_id: str
|
|
1893
|
-
) -> GenieGetDownloadFullQueryResultResponse:
|
|
1894
|
-
"""After [Generating a Full Query Result Download](:method:genie/getdownloadfullqueryresult) and
|
|
1895
|
-
successfully receiving a `download_id`, use this API to poll the download progress. When the download
|
|
1896
|
-
is complete, the API returns one or more external links to the query result files. Warning: Databricks
|
|
1897
|
-
strongly recommends that you protect the URLs that are returned by the `EXTERNAL_LINKS` disposition.
|
|
1898
|
-
You must not set an Authorization header in download requests. When using the `EXTERNAL_LINKS`
|
|
1899
|
-
disposition, Databricks returns presigned URLs that grant temporary access to data. See [Execute
|
|
1900
|
-
Statement](:method:statementexecution/executestatement) for more details.
|
|
1901
|
-
|
|
1902
|
-
:param space_id: str
|
|
1903
|
-
Genie space ID
|
|
1904
|
-
:param conversation_id: str
|
|
1905
|
-
Conversation ID
|
|
1906
|
-
:param message_id: str
|
|
1907
|
-
Message ID
|
|
1908
|
-
:param attachment_id: str
|
|
1909
|
-
Attachment ID
|
|
1910
|
-
:param download_id: str
|
|
1911
|
-
Download ID. This ID is provided by the [Generate Download
|
|
1912
|
-
endpoint](:method:genie/generateDownloadFullQueryResult)
|
|
1913
|
-
|
|
1914
|
-
:returns: :class:`GenieGetDownloadFullQueryResultResponse`
|
|
1915
|
-
"""
|
|
1916
|
-
|
|
1917
|
-
headers = {
|
|
1918
|
-
"Accept": "application/json",
|
|
1919
|
-
}
|
|
1920
|
-
|
|
1921
|
-
res = self._api.do(
|
|
1922
|
-
"GET",
|
|
1923
|
-
f"/api/2.0/genie/spaces/{space_id}/conversations/{conversation_id}/messages/{message_id}/attachments/{attachment_id}/downloads/{download_id}",
|
|
1924
|
-
headers=headers,
|
|
1925
|
-
)
|
|
1926
|
-
return GenieGetDownloadFullQueryResultResponse.from_dict(res)
|
|
1927
|
-
|
|
1928
1679
|
def get_message(self, space_id: str, conversation_id: str, message_id: str) -> GenieMessage:
|
|
1929
1680
|
"""Get message from conversation.
|
|
1930
1681
|
|
|
@@ -2050,6 +1801,33 @@ class GenieAPI:
|
|
|
2050
1801
|
res = self._api.do("GET", f"/api/2.0/genie/spaces/{space_id}", headers=headers)
|
|
2051
1802
|
return GenieSpace.from_dict(res)
|
|
2052
1803
|
|
|
1804
|
+
def list_conversations(
|
|
1805
|
+
self, space_id: str, *, page_size: Optional[int] = None, page_token: Optional[str] = None
|
|
1806
|
+
) -> GenieListConversationsResponse:
|
|
1807
|
+
"""Get a list of conversations in a Genie Space.
|
|
1808
|
+
|
|
1809
|
+
:param space_id: str
|
|
1810
|
+
The ID of the Genie space to retrieve conversations from.
|
|
1811
|
+
:param page_size: int (optional)
|
|
1812
|
+
Maximum number of conversations to return per page
|
|
1813
|
+
:param page_token: str (optional)
|
|
1814
|
+
Token to get the next page of results
|
|
1815
|
+
|
|
1816
|
+
:returns: :class:`GenieListConversationsResponse`
|
|
1817
|
+
"""
|
|
1818
|
+
|
|
1819
|
+
query = {}
|
|
1820
|
+
if page_size is not None:
|
|
1821
|
+
query["page_size"] = page_size
|
|
1822
|
+
if page_token is not None:
|
|
1823
|
+
query["page_token"] = page_token
|
|
1824
|
+
headers = {
|
|
1825
|
+
"Accept": "application/json",
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
res = self._api.do("GET", f"/api/2.0/genie/spaces/{space_id}/conversations", query=query, headers=headers)
|
|
1829
|
+
return GenieListConversationsResponse.from_dict(res)
|
|
1830
|
+
|
|
2053
1831
|
def list_spaces(
|
|
2054
1832
|
self, *, page_size: Optional[int] = None, page_token: Optional[str] = None
|
|
2055
1833
|
) -> GenieListSpacesResponse:
|
|
@@ -2109,6 +1887,21 @@ class GenieAPI:
|
|
|
2109
1887
|
def start_conversation_and_wait(self, space_id: str, content: str, timeout=timedelta(minutes=20)) -> GenieMessage:
|
|
2110
1888
|
return self.start_conversation(content=content, space_id=space_id).result(timeout=timeout)
|
|
2111
1889
|
|
|
1890
|
+
def trash_space(self, space_id: str):
|
|
1891
|
+
"""Move a Genie Space to the trash.
|
|
1892
|
+
|
|
1893
|
+
:param space_id: str
|
|
1894
|
+
The ID associated with the Genie space to be sent to the trash.
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
"""
|
|
1898
|
+
|
|
1899
|
+
headers = {
|
|
1900
|
+
"Accept": "application/json",
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
self._api.do("DELETE", f"/api/2.0/genie/spaces/{space_id}", headers=headers)
|
|
1904
|
+
|
|
2112
1905
|
|
|
2113
1906
|
class LakeviewAPI:
|
|
2114
1907
|
"""These APIs provide specific management operations for Lakeview dashboards. Generic resource management can
|
|
@@ -2139,6 +1932,7 @@ class LakeviewAPI:
|
|
|
2139
1932
|
:param dashboard_id: str
|
|
2140
1933
|
UUID identifying the dashboard to which the schedule belongs.
|
|
2141
1934
|
:param schedule: :class:`Schedule`
|
|
1935
|
+
The schedule to create. A dashboard is limited to 10 schedules.
|
|
2142
1936
|
|
|
2143
1937
|
:returns: :class:`Schedule`
|
|
2144
1938
|
"""
|
|
@@ -2159,6 +1953,7 @@ class LakeviewAPI:
|
|
|
2159
1953
|
:param schedule_id: str
|
|
2160
1954
|
UUID identifying the schedule to which the subscription belongs.
|
|
2161
1955
|
:param subscription: :class:`Subscription`
|
|
1956
|
+
The subscription to create. A schedule is limited to 100 subscriptions.
|
|
2162
1957
|
|
|
2163
1958
|
:returns: :class:`Subscription`
|
|
2164
1959
|
"""
|
|
@@ -2558,6 +2353,7 @@ class LakeviewAPI:
|
|
|
2558
2353
|
:param schedule_id: str
|
|
2559
2354
|
UUID identifying the schedule.
|
|
2560
2355
|
:param schedule: :class:`Schedule`
|
|
2356
|
+
The schedule to update.
|
|
2561
2357
|
|
|
2562
2358
|
:returns: :class:`Schedule`
|
|
2563
2359
|
"""
|
|
@@ -2582,12 +2378,7 @@ class LakeviewEmbeddedAPI:
|
|
|
2582
2378
|
def get_published_dashboard_token_info(
|
|
2583
2379
|
self, dashboard_id: str, *, external_value: Optional[str] = None, external_viewer_id: Optional[str] = None
|
|
2584
2380
|
) -> GetPublishedDashboardTokenInfoResponse:
|
|
2585
|
-
"""Get a required authorization details and scopes of a published dashboard to mint an OAuth token.
|
|
2586
|
-
`authorization_details` can be enriched to apply additional restriction.
|
|
2587
|
-
|
|
2588
|
-
Example: Adding the following `authorization_details` object to downscope the viewer permission to
|
|
2589
|
-
specific table ``` { type: "unity_catalog_privileges", privileges: ["SELECT"], object_type: "TABLE",
|
|
2590
|
-
object_full_path: "main.default.testdata" } ```
|
|
2381
|
+
"""Get a required authorization details and scopes of a published dashboard to mint an OAuth token.
|
|
2591
2382
|
|
|
2592
2383
|
:param dashboard_id: str
|
|
2593
2384
|
UUID identifying the published dashboard.
|