databricks-sdk 0.32.3__py3-none-any.whl → 0.34.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 +10 -0
- databricks/sdk/_base_client.py +323 -0
- databricks/sdk/core.py +25 -292
- databricks/sdk/mixins/files.py +9 -9
- databricks/sdk/service/apps.py +366 -113
- databricks/sdk/service/catalog.py +269 -7
- databricks/sdk/service/compute.py +68 -18
- databricks/sdk/service/dashboards.py +34 -11
- databricks/sdk/service/jobs.py +104 -86
- databricks/sdk/service/pipelines.py +58 -1
- databricks/sdk/service/serving.py +326 -10
- databricks/sdk/service/settings.py +573 -1
- databricks/sdk/service/sharing.py +1 -1
- databricks/sdk/service/sql.py +10 -246
- databricks/sdk/service/workspace.py +268 -107
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/RECORD +22 -21
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/LICENSE +0 -0
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/NOTICE +0 -0
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.32.3.dist-info → databricks_sdk-0.34.0.dist-info}/top_level.txt +0 -0
|
@@ -274,6 +274,42 @@ class AssignResponse:
|
|
|
274
274
|
return cls()
|
|
275
275
|
|
|
276
276
|
|
|
277
|
+
@dataclass
|
|
278
|
+
class AwsCredentials:
|
|
279
|
+
"""AWS temporary credentials for API authentication. Read more at
|
|
280
|
+
https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html."""
|
|
281
|
+
|
|
282
|
+
access_key_id: Optional[str] = None
|
|
283
|
+
"""The access key ID that identifies the temporary credentials."""
|
|
284
|
+
|
|
285
|
+
access_point: Optional[str] = None
|
|
286
|
+
"""The Amazon Resource Name (ARN) of the S3 access point for temporary credentials related the
|
|
287
|
+
external location."""
|
|
288
|
+
|
|
289
|
+
secret_access_key: Optional[str] = None
|
|
290
|
+
"""The secret access key that can be used to sign AWS API requests."""
|
|
291
|
+
|
|
292
|
+
session_token: Optional[str] = None
|
|
293
|
+
"""The token that users must pass to AWS API to use the temporary credentials."""
|
|
294
|
+
|
|
295
|
+
def as_dict(self) -> dict:
|
|
296
|
+
"""Serializes the AwsCredentials into a dictionary suitable for use as a JSON request body."""
|
|
297
|
+
body = {}
|
|
298
|
+
if self.access_key_id is not None: body['access_key_id'] = self.access_key_id
|
|
299
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
300
|
+
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
301
|
+
if self.session_token is not None: body['session_token'] = self.session_token
|
|
302
|
+
return body
|
|
303
|
+
|
|
304
|
+
@classmethod
|
|
305
|
+
def from_dict(cls, d: Dict[str, any]) -> AwsCredentials:
|
|
306
|
+
"""Deserializes the AwsCredentials from a dictionary."""
|
|
307
|
+
return cls(access_key_id=d.get('access_key_id', None),
|
|
308
|
+
access_point=d.get('access_point', None),
|
|
309
|
+
secret_access_key=d.get('secret_access_key', None),
|
|
310
|
+
session_token=d.get('session_token', None))
|
|
311
|
+
|
|
312
|
+
|
|
277
313
|
@dataclass
|
|
278
314
|
class AwsIamRoleRequest:
|
|
279
315
|
role_arn: str
|
|
@@ -405,6 +441,26 @@ class AzureServicePrincipal:
|
|
|
405
441
|
directory_id=d.get('directory_id', None))
|
|
406
442
|
|
|
407
443
|
|
|
444
|
+
@dataclass
|
|
445
|
+
class AzureUserDelegationSas:
|
|
446
|
+
"""Azure temporary credentials for API authentication. Read more at
|
|
447
|
+
https://docs.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas"""
|
|
448
|
+
|
|
449
|
+
sas_token: Optional[str] = None
|
|
450
|
+
"""The signed URI (SAS Token) used to access blob services for a given path"""
|
|
451
|
+
|
|
452
|
+
def as_dict(self) -> dict:
|
|
453
|
+
"""Serializes the AzureUserDelegationSas into a dictionary suitable for use as a JSON request body."""
|
|
454
|
+
body = {}
|
|
455
|
+
if self.sas_token is not None: body['sas_token'] = self.sas_token
|
|
456
|
+
return body
|
|
457
|
+
|
|
458
|
+
@classmethod
|
|
459
|
+
def from_dict(cls, d: Dict[str, any]) -> AzureUserDelegationSas:
|
|
460
|
+
"""Deserializes the AzureUserDelegationSas from a dictionary."""
|
|
461
|
+
return cls(sas_token=d.get('sas_token', None))
|
|
462
|
+
|
|
463
|
+
|
|
408
464
|
@dataclass
|
|
409
465
|
class CancelRefreshResponse:
|
|
410
466
|
|
|
@@ -853,6 +909,7 @@ class ConnectionInfoSecurableKind(Enum):
|
|
|
853
909
|
CONNECTION_DATABRICKS = 'CONNECTION_DATABRICKS'
|
|
854
910
|
CONNECTION_EXTERNAL_HIVE_METASTORE = 'CONNECTION_EXTERNAL_HIVE_METASTORE'
|
|
855
911
|
CONNECTION_GLUE = 'CONNECTION_GLUE'
|
|
912
|
+
CONNECTION_HTTP_BEARER = 'CONNECTION_HTTP_BEARER'
|
|
856
913
|
CONNECTION_MYSQL = 'CONNECTION_MYSQL'
|
|
857
914
|
CONNECTION_ONLINE_CATALOG = 'CONNECTION_ONLINE_CATALOG'
|
|
858
915
|
CONNECTION_POSTGRESQL = 'CONNECTION_POSTGRESQL'
|
|
@@ -869,6 +926,7 @@ class ConnectionType(Enum):
|
|
|
869
926
|
DATABRICKS = 'DATABRICKS'
|
|
870
927
|
GLUE = 'GLUE'
|
|
871
928
|
HIVE_METASTORE = 'HIVE_METASTORE'
|
|
929
|
+
HTTP = 'HTTP'
|
|
872
930
|
MYSQL = 'MYSQL'
|
|
873
931
|
POSTGRESQL = 'POSTGRESQL'
|
|
874
932
|
REDSHIFT = 'REDSHIFT'
|
|
@@ -1086,9 +1144,6 @@ class CreateFunction:
|
|
|
1086
1144
|
full_data_type: str
|
|
1087
1145
|
"""Pretty printed function data type."""
|
|
1088
1146
|
|
|
1089
|
-
return_params: FunctionParameterInfos
|
|
1090
|
-
"""Table function return parameters."""
|
|
1091
|
-
|
|
1092
1147
|
routine_body: CreateFunctionRoutineBody
|
|
1093
1148
|
"""Function language. When **EXTERNAL** is used, the language of the routine function should be
|
|
1094
1149
|
specified in the __external_language__ field, and the __return_params__ of the function cannot
|
|
@@ -1098,9 +1153,6 @@ class CreateFunction:
|
|
|
1098
1153
|
routine_definition: str
|
|
1099
1154
|
"""Function body."""
|
|
1100
1155
|
|
|
1101
|
-
routine_dependencies: DependencyList
|
|
1102
|
-
"""Function dependencies."""
|
|
1103
|
-
|
|
1104
1156
|
parameter_style: CreateFunctionParameterStyle
|
|
1105
1157
|
"""Function parameter style. **S** is the value for SQL."""
|
|
1106
1158
|
|
|
@@ -1131,6 +1183,12 @@ class CreateFunction:
|
|
|
1131
1183
|
properties: Optional[str] = None
|
|
1132
1184
|
"""JSON-serialized key-value pair map, encoded (escaped) as a string."""
|
|
1133
1185
|
|
|
1186
|
+
return_params: Optional[FunctionParameterInfos] = None
|
|
1187
|
+
"""Table function return parameters."""
|
|
1188
|
+
|
|
1189
|
+
routine_dependencies: Optional[DependencyList] = None
|
|
1190
|
+
"""Function dependencies."""
|
|
1191
|
+
|
|
1134
1192
|
sql_path: Optional[str] = None
|
|
1135
1193
|
"""List of schemes whose objects can be referenced without qualification."""
|
|
1136
1194
|
|
|
@@ -1620,6 +1678,7 @@ class CreateVolumeRequestContent:
|
|
|
1620
1678
|
class CredentialType(Enum):
|
|
1621
1679
|
"""The type of credential."""
|
|
1622
1680
|
|
|
1681
|
+
BEARER_TOKEN = 'BEARER_TOKEN'
|
|
1623
1682
|
USERNAME_PASSWORD = 'USERNAME_PASSWORD'
|
|
1624
1683
|
|
|
1625
1684
|
|
|
@@ -2438,6 +2497,97 @@ class FunctionParameterType(Enum):
|
|
|
2438
2497
|
PARAM = 'PARAM'
|
|
2439
2498
|
|
|
2440
2499
|
|
|
2500
|
+
@dataclass
|
|
2501
|
+
class GcpOauthToken:
|
|
2502
|
+
"""GCP temporary credentials for API authentication. Read more at
|
|
2503
|
+
https://developers.google.com/identity/protocols/oauth2/service-account"""
|
|
2504
|
+
|
|
2505
|
+
oauth_token: Optional[str] = None
|
|
2506
|
+
|
|
2507
|
+
def as_dict(self) -> dict:
|
|
2508
|
+
"""Serializes the GcpOauthToken into a dictionary suitable for use as a JSON request body."""
|
|
2509
|
+
body = {}
|
|
2510
|
+
if self.oauth_token is not None: body['oauth_token'] = self.oauth_token
|
|
2511
|
+
return body
|
|
2512
|
+
|
|
2513
|
+
@classmethod
|
|
2514
|
+
def from_dict(cls, d: Dict[str, any]) -> GcpOauthToken:
|
|
2515
|
+
"""Deserializes the GcpOauthToken from a dictionary."""
|
|
2516
|
+
return cls(oauth_token=d.get('oauth_token', None))
|
|
2517
|
+
|
|
2518
|
+
|
|
2519
|
+
@dataclass
|
|
2520
|
+
class GenerateTemporaryTableCredentialRequest:
|
|
2521
|
+
operation: Optional[TableOperation] = None
|
|
2522
|
+
"""The operation performed against the table data, either READ or READ_WRITE. If READ_WRITE is
|
|
2523
|
+
specified, the credentials returned will have write permissions, otherwise, it will be read
|
|
2524
|
+
only."""
|
|
2525
|
+
|
|
2526
|
+
table_id: Optional[str] = None
|
|
2527
|
+
"""UUID of the table to read or write."""
|
|
2528
|
+
|
|
2529
|
+
def as_dict(self) -> dict:
|
|
2530
|
+
"""Serializes the GenerateTemporaryTableCredentialRequest into a dictionary suitable for use as a JSON request body."""
|
|
2531
|
+
body = {}
|
|
2532
|
+
if self.operation is not None: body['operation'] = self.operation.value
|
|
2533
|
+
if self.table_id is not None: body['table_id'] = self.table_id
|
|
2534
|
+
return body
|
|
2535
|
+
|
|
2536
|
+
@classmethod
|
|
2537
|
+
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryTableCredentialRequest:
|
|
2538
|
+
"""Deserializes the GenerateTemporaryTableCredentialRequest from a dictionary."""
|
|
2539
|
+
return cls(operation=_enum(d, 'operation', TableOperation), table_id=d.get('table_id', None))
|
|
2540
|
+
|
|
2541
|
+
|
|
2542
|
+
@dataclass
|
|
2543
|
+
class GenerateTemporaryTableCredentialResponse:
|
|
2544
|
+
aws_temp_credentials: Optional[AwsCredentials] = None
|
|
2545
|
+
"""AWS temporary credentials for API authentication. Read more at
|
|
2546
|
+
https://docs.aws.amazon.com/STS/latest/APIReference/API_Credentials.html."""
|
|
2547
|
+
|
|
2548
|
+
azure_user_delegation_sas: Optional[AzureUserDelegationSas] = None
|
|
2549
|
+
"""Azure temporary credentials for API authentication. Read more at
|
|
2550
|
+
https://docs.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas"""
|
|
2551
|
+
|
|
2552
|
+
expiration_time: Optional[int] = None
|
|
2553
|
+
"""Server time when the credential will expire, in epoch milliseconds. The API client is advised to
|
|
2554
|
+
cache the credential given this expiration time."""
|
|
2555
|
+
|
|
2556
|
+
gcp_oauth_token: Optional[GcpOauthToken] = None
|
|
2557
|
+
"""GCP temporary credentials for API authentication. Read more at
|
|
2558
|
+
https://developers.google.com/identity/protocols/oauth2/service-account"""
|
|
2559
|
+
|
|
2560
|
+
r2_temp_credentials: Optional[R2Credentials] = None
|
|
2561
|
+
"""R2 temporary credentials for API authentication. Read more at
|
|
2562
|
+
https://developers.cloudflare.com/r2/api/s3/tokens/."""
|
|
2563
|
+
|
|
2564
|
+
url: Optional[str] = None
|
|
2565
|
+
"""The URL of the storage path accessible by the temporary credential."""
|
|
2566
|
+
|
|
2567
|
+
def as_dict(self) -> dict:
|
|
2568
|
+
"""Serializes the GenerateTemporaryTableCredentialResponse into a dictionary suitable for use as a JSON request body."""
|
|
2569
|
+
body = {}
|
|
2570
|
+
if self.aws_temp_credentials: body['aws_temp_credentials'] = self.aws_temp_credentials.as_dict()
|
|
2571
|
+
if self.azure_user_delegation_sas:
|
|
2572
|
+
body['azure_user_delegation_sas'] = self.azure_user_delegation_sas.as_dict()
|
|
2573
|
+
if self.expiration_time is not None: body['expiration_time'] = self.expiration_time
|
|
2574
|
+
if self.gcp_oauth_token: body['gcp_oauth_token'] = self.gcp_oauth_token.as_dict()
|
|
2575
|
+
if self.r2_temp_credentials: body['r2_temp_credentials'] = self.r2_temp_credentials.as_dict()
|
|
2576
|
+
if self.url is not None: body['url'] = self.url
|
|
2577
|
+
return body
|
|
2578
|
+
|
|
2579
|
+
@classmethod
|
|
2580
|
+
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryTableCredentialResponse:
|
|
2581
|
+
"""Deserializes the GenerateTemporaryTableCredentialResponse from a dictionary."""
|
|
2582
|
+
return cls(aws_temp_credentials=_from_dict(d, 'aws_temp_credentials', AwsCredentials),
|
|
2583
|
+
azure_user_delegation_sas=_from_dict(d, 'azure_user_delegation_sas',
|
|
2584
|
+
AzureUserDelegationSas),
|
|
2585
|
+
expiration_time=d.get('expiration_time', None),
|
|
2586
|
+
gcp_oauth_token=_from_dict(d, 'gcp_oauth_token', GcpOauthToken),
|
|
2587
|
+
r2_temp_credentials=_from_dict(d, 'r2_temp_credentials', R2Credentials),
|
|
2588
|
+
url=d.get('url', None))
|
|
2589
|
+
|
|
2590
|
+
|
|
2441
2591
|
class GetBindingsSecurableType(Enum):
|
|
2442
2592
|
|
|
2443
2593
|
CATALOG = 'catalog'
|
|
@@ -2469,6 +2619,9 @@ class GetMetastoreSummaryResponse:
|
|
|
2469
2619
|
delta_sharing_scope: Optional[GetMetastoreSummaryResponseDeltaSharingScope] = None
|
|
2470
2620
|
"""The scope of Delta Sharing enabled for the metastore."""
|
|
2471
2621
|
|
|
2622
|
+
external_access_enabled: Optional[bool] = None
|
|
2623
|
+
"""Whether to allow non-DBR clients to directly access entities under the metastore."""
|
|
2624
|
+
|
|
2472
2625
|
global_metastore_id: Optional[str] = None
|
|
2473
2626
|
"""Globally unique metastore ID across clouds and regions, of the form `cloud:region:metastore_id`."""
|
|
2474
2627
|
|
|
@@ -2516,6 +2669,8 @@ class GetMetastoreSummaryResponse:
|
|
|
2516
2669
|
body[
|
|
2517
2670
|
'delta_sharing_recipient_token_lifetime_in_seconds'] = self.delta_sharing_recipient_token_lifetime_in_seconds
|
|
2518
2671
|
if self.delta_sharing_scope is not None: body['delta_sharing_scope'] = self.delta_sharing_scope.value
|
|
2672
|
+
if self.external_access_enabled is not None:
|
|
2673
|
+
body['external_access_enabled'] = self.external_access_enabled
|
|
2519
2674
|
if self.global_metastore_id is not None: body['global_metastore_id'] = self.global_metastore_id
|
|
2520
2675
|
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
2521
2676
|
if self.name is not None: body['name'] = self.name
|
|
@@ -2544,6 +2699,7 @@ class GetMetastoreSummaryResponse:
|
|
|
2544
2699
|
'delta_sharing_recipient_token_lifetime_in_seconds', None),
|
|
2545
2700
|
delta_sharing_scope=_enum(d, 'delta_sharing_scope',
|
|
2546
2701
|
GetMetastoreSummaryResponseDeltaSharingScope),
|
|
2702
|
+
external_access_enabled=d.get('external_access_enabled', None),
|
|
2547
2703
|
global_metastore_id=d.get('global_metastore_id', None),
|
|
2548
2704
|
metastore_id=d.get('metastore_id', None),
|
|
2549
2705
|
name=d.get('name', None),
|
|
@@ -2996,6 +3152,9 @@ class MetastoreInfo:
|
|
|
2996
3152
|
delta_sharing_scope: Optional[MetastoreInfoDeltaSharingScope] = None
|
|
2997
3153
|
"""The scope of Delta Sharing enabled for the metastore."""
|
|
2998
3154
|
|
|
3155
|
+
external_access_enabled: Optional[bool] = None
|
|
3156
|
+
"""Whether to allow non-DBR clients to directly access entities under the metastore."""
|
|
3157
|
+
|
|
2999
3158
|
global_metastore_id: Optional[str] = None
|
|
3000
3159
|
"""Globally unique metastore ID across clouds and regions, of the form `cloud:region:metastore_id`."""
|
|
3001
3160
|
|
|
@@ -3043,6 +3202,8 @@ class MetastoreInfo:
|
|
|
3043
3202
|
body[
|
|
3044
3203
|
'delta_sharing_recipient_token_lifetime_in_seconds'] = self.delta_sharing_recipient_token_lifetime_in_seconds
|
|
3045
3204
|
if self.delta_sharing_scope is not None: body['delta_sharing_scope'] = self.delta_sharing_scope.value
|
|
3205
|
+
if self.external_access_enabled is not None:
|
|
3206
|
+
body['external_access_enabled'] = self.external_access_enabled
|
|
3046
3207
|
if self.global_metastore_id is not None: body['global_metastore_id'] = self.global_metastore_id
|
|
3047
3208
|
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
3048
3209
|
if self.name is not None: body['name'] = self.name
|
|
@@ -3070,6 +3231,7 @@ class MetastoreInfo:
|
|
|
3070
3231
|
delta_sharing_recipient_token_lifetime_in_seconds=d.get(
|
|
3071
3232
|
'delta_sharing_recipient_token_lifetime_in_seconds', None),
|
|
3072
3233
|
delta_sharing_scope=_enum(d, 'delta_sharing_scope', MetastoreInfoDeltaSharingScope),
|
|
3234
|
+
external_access_enabled=d.get('external_access_enabled', None),
|
|
3073
3235
|
global_metastore_id=d.get('global_metastore_id', None),
|
|
3074
3236
|
metastore_id=d.get('metastore_id', None),
|
|
3075
3237
|
name=d.get('name', None),
|
|
@@ -4151,6 +4313,36 @@ class QuotaInfo:
|
|
|
4151
4313
|
quota_name=d.get('quota_name', None))
|
|
4152
4314
|
|
|
4153
4315
|
|
|
4316
|
+
@dataclass
|
|
4317
|
+
class R2Credentials:
|
|
4318
|
+
"""R2 temporary credentials for API authentication. Read more at
|
|
4319
|
+
https://developers.cloudflare.com/r2/api/s3/tokens/."""
|
|
4320
|
+
|
|
4321
|
+
access_key_id: Optional[str] = None
|
|
4322
|
+
"""The access key ID that identifies the temporary credentials."""
|
|
4323
|
+
|
|
4324
|
+
secret_access_key: Optional[str] = None
|
|
4325
|
+
"""The secret access key associated with the access key."""
|
|
4326
|
+
|
|
4327
|
+
session_token: Optional[str] = None
|
|
4328
|
+
"""The generated JWT that users must pass to use the temporary credentials."""
|
|
4329
|
+
|
|
4330
|
+
def as_dict(self) -> dict:
|
|
4331
|
+
"""Serializes the R2Credentials into a dictionary suitable for use as a JSON request body."""
|
|
4332
|
+
body = {}
|
|
4333
|
+
if self.access_key_id is not None: body['access_key_id'] = self.access_key_id
|
|
4334
|
+
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
4335
|
+
if self.session_token is not None: body['session_token'] = self.session_token
|
|
4336
|
+
return body
|
|
4337
|
+
|
|
4338
|
+
@classmethod
|
|
4339
|
+
def from_dict(cls, d: Dict[str, any]) -> R2Credentials:
|
|
4340
|
+
"""Deserializes the R2Credentials from a dictionary."""
|
|
4341
|
+
return cls(access_key_id=d.get('access_key_id', None),
|
|
4342
|
+
secret_access_key=d.get('secret_access_key', None),
|
|
4343
|
+
session_token=d.get('session_token', None))
|
|
4344
|
+
|
|
4345
|
+
|
|
4154
4346
|
@dataclass
|
|
4155
4347
|
class RegenerateDashboardRequest:
|
|
4156
4348
|
table_name: Optional[str] = None
|
|
@@ -4896,6 +5088,12 @@ class TableInfo:
|
|
|
4896
5088
|
view_dependencies=_from_dict(d, 'view_dependencies', DependencyList))
|
|
4897
5089
|
|
|
4898
5090
|
|
|
5091
|
+
class TableOperation(Enum):
|
|
5092
|
+
|
|
5093
|
+
READ = 'READ'
|
|
5094
|
+
READ_WRITE = 'READ_WRITE'
|
|
5095
|
+
|
|
5096
|
+
|
|
4899
5097
|
@dataclass
|
|
4900
5098
|
class TableRowFilter:
|
|
4901
5099
|
function_name: str
|
|
@@ -9135,7 +9333,8 @@ class TablesAPI:
|
|
|
9135
9333
|
full_name: str,
|
|
9136
9334
|
*,
|
|
9137
9335
|
include_browse: Optional[bool] = None,
|
|
9138
|
-
include_delta_metadata: Optional[bool] = None
|
|
9336
|
+
include_delta_metadata: Optional[bool] = None,
|
|
9337
|
+
include_manifest_capabilities: Optional[bool] = None) -> TableInfo:
|
|
9139
9338
|
"""Get a table.
|
|
9140
9339
|
|
|
9141
9340
|
Gets a table from the metastore for a specific catalog and schema. The caller must satisfy one of the
|
|
@@ -9151,6 +9350,8 @@ class TablesAPI:
|
|
|
9151
9350
|
for
|
|
9152
9351
|
:param include_delta_metadata: bool (optional)
|
|
9153
9352
|
Whether delta metadata should be included in the response.
|
|
9353
|
+
:param include_manifest_capabilities: bool (optional)
|
|
9354
|
+
Whether to include a manifest containing capabilities the table has.
|
|
9154
9355
|
|
|
9155
9356
|
:returns: :class:`TableInfo`
|
|
9156
9357
|
"""
|
|
@@ -9158,6 +9359,8 @@ class TablesAPI:
|
|
|
9158
9359
|
query = {}
|
|
9159
9360
|
if include_browse is not None: query['include_browse'] = include_browse
|
|
9160
9361
|
if include_delta_metadata is not None: query['include_delta_metadata'] = include_delta_metadata
|
|
9362
|
+
if include_manifest_capabilities is not None:
|
|
9363
|
+
query['include_manifest_capabilities'] = include_manifest_capabilities
|
|
9161
9364
|
headers = {'Accept': 'application/json', }
|
|
9162
9365
|
|
|
9163
9366
|
res = self._api.do('GET', f'/api/2.1/unity-catalog/tables/{full_name}', query=query, headers=headers)
|
|
@@ -9169,6 +9372,7 @@ class TablesAPI:
|
|
|
9169
9372
|
*,
|
|
9170
9373
|
include_browse: Optional[bool] = None,
|
|
9171
9374
|
include_delta_metadata: Optional[bool] = None,
|
|
9375
|
+
include_manifest_capabilities: Optional[bool] = None,
|
|
9172
9376
|
max_results: Optional[int] = None,
|
|
9173
9377
|
omit_columns: Optional[bool] = None,
|
|
9174
9378
|
omit_properties: Optional[bool] = None,
|
|
@@ -9190,6 +9394,8 @@ class TablesAPI:
|
|
|
9190
9394
|
for
|
|
9191
9395
|
:param include_delta_metadata: bool (optional)
|
|
9192
9396
|
Whether delta metadata should be included in the response.
|
|
9397
|
+
:param include_manifest_capabilities: bool (optional)
|
|
9398
|
+
Whether to include a manifest containing capabilities the table has.
|
|
9193
9399
|
:param max_results: int (optional)
|
|
9194
9400
|
Maximum number of tables to return. If not set, all the tables are returned (not recommended). -
|
|
9195
9401
|
when set to a value greater than 0, the page length is the minimum of this value and a server
|
|
@@ -9209,6 +9415,8 @@ class TablesAPI:
|
|
|
9209
9415
|
if catalog_name is not None: query['catalog_name'] = catalog_name
|
|
9210
9416
|
if include_browse is not None: query['include_browse'] = include_browse
|
|
9211
9417
|
if include_delta_metadata is not None: query['include_delta_metadata'] = include_delta_metadata
|
|
9418
|
+
if include_manifest_capabilities is not None:
|
|
9419
|
+
query['include_manifest_capabilities'] = include_manifest_capabilities
|
|
9212
9420
|
if max_results is not None: query['max_results'] = max_results
|
|
9213
9421
|
if omit_columns is not None: query['omit_columns'] = omit_columns
|
|
9214
9422
|
if omit_properties is not None: query['omit_properties'] = omit_properties
|
|
@@ -9228,6 +9436,7 @@ class TablesAPI:
|
|
|
9228
9436
|
def list_summaries(self,
|
|
9229
9437
|
catalog_name: str,
|
|
9230
9438
|
*,
|
|
9439
|
+
include_manifest_capabilities: Optional[bool] = None,
|
|
9231
9440
|
max_results: Optional[int] = None,
|
|
9232
9441
|
page_token: Optional[str] = None,
|
|
9233
9442
|
schema_name_pattern: Optional[str] = None,
|
|
@@ -9247,6 +9456,8 @@ class TablesAPI:
|
|
|
9247
9456
|
|
|
9248
9457
|
:param catalog_name: str
|
|
9249
9458
|
Name of parent catalog for tables of interest.
|
|
9459
|
+
:param include_manifest_capabilities: bool (optional)
|
|
9460
|
+
Whether to include a manifest containing capabilities the table has.
|
|
9250
9461
|
:param max_results: int (optional)
|
|
9251
9462
|
Maximum number of summaries for tables to return. If not set, the page length is set to a server
|
|
9252
9463
|
configured value (10000, as of 1/5/2024). - when set to a value greater than 0, the page length is
|
|
@@ -9265,6 +9476,8 @@ class TablesAPI:
|
|
|
9265
9476
|
|
|
9266
9477
|
query = {}
|
|
9267
9478
|
if catalog_name is not None: query['catalog_name'] = catalog_name
|
|
9479
|
+
if include_manifest_capabilities is not None:
|
|
9480
|
+
query['include_manifest_capabilities'] = include_manifest_capabilities
|
|
9268
9481
|
if max_results is not None: query['max_results'] = max_results
|
|
9269
9482
|
if page_token is not None: query['page_token'] = page_token
|
|
9270
9483
|
if schema_name_pattern is not None: query['schema_name_pattern'] = schema_name_pattern
|
|
@@ -9301,6 +9514,55 @@ class TablesAPI:
|
|
|
9301
9514
|
self._api.do('PATCH', f'/api/2.1/unity-catalog/tables/{full_name}', body=body, headers=headers)
|
|
9302
9515
|
|
|
9303
9516
|
|
|
9517
|
+
class TemporaryTableCredentialsAPI:
|
|
9518
|
+
"""Temporary Table Credentials refer to short-lived, downscoped credentials used to access cloud storage
|
|
9519
|
+
locationswhere table data is stored in Databricks. These credentials are employed to provide secure and
|
|
9520
|
+
time-limitedaccess to data in cloud environments such as AWS, Azure, and Google Cloud. Each cloud provider
|
|
9521
|
+
has its own typeof credentials: AWS uses temporary session tokens via AWS Security Token Service (STS),
|
|
9522
|
+
Azure utilizesShared Access Signatures (SAS) for its data storage services, and Google Cloud supports
|
|
9523
|
+
temporary credentialsthrough OAuth 2.0.Temporary table credentials ensure that data access is limited in
|
|
9524
|
+
scope and duration, reducing the risk ofunauthorized access or misuse. To use the temporary table
|
|
9525
|
+
credentials API, a metastore admin needs to enable the external_access_enabled flag (off by default) at
|
|
9526
|
+
the metastore level, and user needs to be granted the EXTERNAL USE SCHEMA permission at the schema level
|
|
9527
|
+
by catalog admin. Note that EXTERNAL USE SCHEMA is a schema level permission that can only be granted by
|
|
9528
|
+
catalog admin explicitly and is not included in schema ownership or ALL PRIVILEGES on the schema for
|
|
9529
|
+
security reason."""
|
|
9530
|
+
|
|
9531
|
+
def __init__(self, api_client):
|
|
9532
|
+
self._api = api_client
|
|
9533
|
+
|
|
9534
|
+
def generate_temporary_table_credentials(
|
|
9535
|
+
self,
|
|
9536
|
+
*,
|
|
9537
|
+
operation: Optional[TableOperation] = None,
|
|
9538
|
+
table_id: Optional[str] = None) -> GenerateTemporaryTableCredentialResponse:
|
|
9539
|
+
"""Generate a temporary table credential.
|
|
9540
|
+
|
|
9541
|
+
Get a short-lived credential for directly accessing the table data on cloud storage. The metastore
|
|
9542
|
+
must have external_access_enabled flag set to true (default false). The caller must have
|
|
9543
|
+
EXTERNAL_USE_SCHEMA privilege on the parent schema and this privilege can only be granted by catalog
|
|
9544
|
+
owners.
|
|
9545
|
+
|
|
9546
|
+
:param operation: :class:`TableOperation` (optional)
|
|
9547
|
+
The operation performed against the table data, either READ or READ_WRITE. If READ_WRITE is
|
|
9548
|
+
specified, the credentials returned will have write permissions, otherwise, it will be read only.
|
|
9549
|
+
:param table_id: str (optional)
|
|
9550
|
+
UUID of the table to read or write.
|
|
9551
|
+
|
|
9552
|
+
:returns: :class:`GenerateTemporaryTableCredentialResponse`
|
|
9553
|
+
"""
|
|
9554
|
+
body = {}
|
|
9555
|
+
if operation is not None: body['operation'] = operation.value
|
|
9556
|
+
if table_id is not None: body['table_id'] = table_id
|
|
9557
|
+
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
9558
|
+
|
|
9559
|
+
res = self._api.do('POST',
|
|
9560
|
+
'/api/2.0/unity-catalog/temporary-table-credentials',
|
|
9561
|
+
body=body,
|
|
9562
|
+
headers=headers)
|
|
9563
|
+
return GenerateTemporaryTableCredentialResponse.from_dict(res)
|
|
9564
|
+
|
|
9565
|
+
|
|
9304
9566
|
class VolumesAPI:
|
|
9305
9567
|
"""Volumes are a Unity Catalog (UC) capability for accessing, storing, governing, organizing and processing
|
|
9306
9568
|
files. Use cases include running machine learning on unstructured data such as image, audio, video, or PDF
|
|
@@ -598,8 +598,13 @@ class ClusterAttributes:
|
|
|
598
598
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
599
599
|
|
|
600
600
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
601
|
-
"""
|
|
602
|
-
|
|
601
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
602
|
+
|
|
603
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
604
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
605
|
+
|
|
606
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
607
|
+
-photon-, in which case Photon will be used."""
|
|
603
608
|
|
|
604
609
|
single_user_name: Optional[str] = None
|
|
605
610
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -882,8 +887,13 @@ class ClusterDetails:
|
|
|
882
887
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
883
888
|
|
|
884
889
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
885
|
-
"""
|
|
886
|
-
|
|
890
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
891
|
+
|
|
892
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
893
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
894
|
+
|
|
895
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
896
|
+
-photon-, in which case Photon will be used."""
|
|
887
897
|
|
|
888
898
|
single_user_name: Optional[str] = None
|
|
889
899
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -1596,8 +1606,13 @@ class ClusterSpec:
|
|
|
1596
1606
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
1597
1607
|
|
|
1598
1608
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
1599
|
-
"""
|
|
1600
|
-
|
|
1609
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
1610
|
+
|
|
1611
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
1612
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
1613
|
+
|
|
1614
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
1615
|
+
-photon-, in which case Photon will be used."""
|
|
1601
1616
|
|
|
1602
1617
|
single_user_name: Optional[str] = None
|
|
1603
1618
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -1912,8 +1927,13 @@ class CreateCluster:
|
|
|
1912
1927
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
1913
1928
|
|
|
1914
1929
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
1915
|
-
"""
|
|
1916
|
-
|
|
1930
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
1931
|
+
|
|
1932
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
1933
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
1934
|
+
|
|
1935
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
1936
|
+
-photon-, in which case Photon will be used."""
|
|
1917
1937
|
|
|
1918
1938
|
single_user_name: Optional[str] = None
|
|
1919
1939
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -2759,8 +2779,13 @@ class EditCluster:
|
|
|
2759
2779
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
2760
2780
|
|
|
2761
2781
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
2762
|
-
"""
|
|
2763
|
-
|
|
2782
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
2783
|
+
|
|
2784
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
2785
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
2786
|
+
|
|
2787
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
2788
|
+
-photon-, in which case Photon will be used."""
|
|
2764
2789
|
|
|
2765
2790
|
single_user_name: Optional[str] = None
|
|
2766
2791
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -5647,8 +5672,13 @@ class Results:
|
|
|
5647
5672
|
|
|
5648
5673
|
|
|
5649
5674
|
class RuntimeEngine(Enum):
|
|
5650
|
-
"""
|
|
5651
|
-
|
|
5675
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
5676
|
+
|
|
5677
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
5678
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
5679
|
+
|
|
5680
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
5681
|
+
-photon-, in which case Photon will be used."""
|
|
5652
5682
|
|
|
5653
5683
|
NULL = 'NULL'
|
|
5654
5684
|
PHOTON = 'PHOTON'
|
|
@@ -6181,8 +6211,13 @@ class UpdateClusterResource:
|
|
|
6181
6211
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
6182
6212
|
|
|
6183
6213
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
6184
|
-
"""
|
|
6185
|
-
|
|
6214
|
+
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
6215
|
+
|
|
6216
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
6217
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
6218
|
+
|
|
6219
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
6220
|
+
-photon-, in which case Photon will be used."""
|
|
6186
6221
|
|
|
6187
6222
|
single_user_name: Optional[str] = None
|
|
6188
6223
|
"""Single user name if data_security_mode is `SINGLE_USER`"""
|
|
@@ -6805,6 +6840,11 @@ class ClustersAPI:
|
|
|
6805
6840
|
If Databricks acquires at least 85% of the requested on-demand nodes, cluster creation will succeed.
|
|
6806
6841
|
Otherwise the cluster will terminate with an informative error message.
|
|
6807
6842
|
|
|
6843
|
+
Rather than authoring the cluster's JSON definition from scratch, Databricks recommends filling out
|
|
6844
|
+
the [create compute UI] and then copying the generated JSON definition from the UI.
|
|
6845
|
+
|
|
6846
|
+
[create compute UI]: https://docs.databricks.com/compute/configure.html
|
|
6847
|
+
|
|
6808
6848
|
:param spark_version: str
|
|
6809
6849
|
The Spark version of the cluster, e.g. `3.3.x-scala2.11`. A list of available Spark versions can be
|
|
6810
6850
|
retrieved by using the :method:clusters/sparkVersions API call.
|
|
@@ -6900,8 +6940,13 @@ class ClustersAPI:
|
|
|
6900
6940
|
:param policy_id: str (optional)
|
|
6901
6941
|
The ID of the cluster policy used to create the cluster if applicable.
|
|
6902
6942
|
:param runtime_engine: :class:`RuntimeEngine` (optional)
|
|
6903
|
-
|
|
6904
|
-
|
|
6943
|
+
Determines the cluster's runtime engine, either standard or Photon.
|
|
6944
|
+
|
|
6945
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
6946
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
6947
|
+
|
|
6948
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
6949
|
+
-photon-, in which case Photon will be used.
|
|
6905
6950
|
:param single_user_name: str (optional)
|
|
6906
6951
|
Single user name if data_security_mode is `SINGLE_USER`
|
|
6907
6952
|
:param spark_conf: Dict[str,str] (optional)
|
|
@@ -7194,8 +7239,13 @@ class ClustersAPI:
|
|
|
7194
7239
|
:param policy_id: str (optional)
|
|
7195
7240
|
The ID of the cluster policy used to create the cluster if applicable.
|
|
7196
7241
|
:param runtime_engine: :class:`RuntimeEngine` (optional)
|
|
7197
|
-
|
|
7198
|
-
|
|
7242
|
+
Determines the cluster's runtime engine, either standard or Photon.
|
|
7243
|
+
|
|
7244
|
+
This field is not compatible with legacy `spark_version` values that contain `-photon-`. Remove
|
|
7245
|
+
`-photon-` from the `spark_version` and set `runtime_engine` to `PHOTON`.
|
|
7246
|
+
|
|
7247
|
+
If left unspecified, the runtime engine defaults to standard unless the spark_version contains
|
|
7248
|
+
-photon-, in which case Photon will be used.
|
|
7199
7249
|
:param single_user_name: str (optional)
|
|
7200
7250
|
Single user name if data_security_mode is `SINGLE_USER`
|
|
7201
7251
|
:param spark_conf: Dict[str,str] (optional)
|