msfabricpysdkcore 0.1.8__py3-none-any.whl → 0.2.1__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.
- msfabricpysdkcore/adminapi.py +36 -10
- msfabricpysdkcore/coreapi.py +982 -69
- msfabricpysdkcore/item.py +39 -2
- msfabricpysdkcore/job_instance.py +2 -1
- msfabricpysdkcore/otheritems.py +66 -10
- msfabricpysdkcore/workspace.py +146 -11
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.1.dist-info}/METADATA +231 -12
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.1.dist-info}/RECORD +11 -11
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.1.dist-info}/WHEEL +1 -1
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.1.dist-info}/LICENSE +0 -0
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: msfabricpysdkcore
|
3
|
-
Version: 0.1
|
3
|
+
Version: 0.2.1
|
4
4
|
Summary: A Python SDK for Microsoft Fabric
|
5
5
|
Author: Andreas Rederer
|
6
6
|
Project-URL: Homepage, https://github.com/DaSenf1860/ms-fabric-sdk-core
|
@@ -10,9 +10,9 @@ Classifier: Operating System :: OS Independent
|
|
10
10
|
Requires-Python: >=3.10
|
11
11
|
Description-Content-Type: text/markdown
|
12
12
|
License-File: LICENSE
|
13
|
-
Requires-Dist: requests
|
14
|
-
Requires-Dist: azure-identity
|
15
|
-
Requires-Dist: msal
|
13
|
+
Requires-Dist: requests>=2.30.0
|
14
|
+
Requires-Dist: azure-identity>=1.15.0
|
15
|
+
Requires-Dist: msal>=1.28.0
|
16
16
|
|
17
17
|
# Python SDK for Microsoft Fabric
|
18
18
|
|
@@ -43,11 +43,14 @@ See the latest release notes [here](releasenotes/release_notes.md).
|
|
43
43
|
Currently it supports all Core APIs, Admin APIs, all item specific CRUD APIs and Azure Resource Management APIs for Fabric capacities, i.e.:
|
44
44
|
- Core APIs
|
45
45
|
- [Capacities](#working-with-capacities)
|
46
|
+
- [Connections](#connections)
|
46
47
|
- [Deployment Pipelines](#deployment-pipelines)
|
47
48
|
- [External Data Shares](#external-data-shares)
|
49
|
+
- [Gateways](#gateways)
|
48
50
|
- [Git](#working-with-git)
|
49
51
|
- [Items](#working-with-items)
|
50
52
|
- [Job Scheduler](#working-with-job-scheduler)
|
53
|
+
- [Managed Private Endpoints](#managed-private-endpoints)
|
51
54
|
- [Long Running Operations](#long-running-operations)
|
52
55
|
- [OneLakeDataAccessSecurity](#one-lake-data-access-security)
|
53
56
|
- [OneLakeShortcuts](#working-with-one-lake-shortcuts)
|
@@ -225,6 +228,86 @@ ws.unassign_from_capacity()
|
|
225
228
|
|
226
229
|
# List capacities
|
227
230
|
fc.list_capacities()
|
231
|
+
```
|
232
|
+
### Connections
|
233
|
+
|
234
|
+
```python
|
235
|
+
|
236
|
+
# Add connection role assignment
|
237
|
+
principal = {"id" : "755f273c-98f8-408c-a886-691794938bd8",
|
238
|
+
"type" : "ServicePrincipal"}
|
239
|
+
|
240
|
+
add_role_assi = fc.add_connection_role_assignment(connection_id="id", principal=principal, role='User')
|
241
|
+
|
242
|
+
# Create Connection
|
243
|
+
display_name = "ContosoCloudConnection" + datetime_str
|
244
|
+
|
245
|
+
cr = {"connectivityType": "ShareableCloud",
|
246
|
+
"displayName": display_name,
|
247
|
+
"connectionDetails": {
|
248
|
+
'type': "SQL",
|
249
|
+
'creationMethod': 'SQL',
|
250
|
+
"parameters": [
|
251
|
+
{
|
252
|
+
"dataType": "Text",
|
253
|
+
"name": "server",
|
254
|
+
"value": "server_name.database.windows.net"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
"dataType": "Text",
|
258
|
+
"name": "database",
|
259
|
+
"value": "database_name"
|
260
|
+
}
|
261
|
+
]},
|
262
|
+
'privacyLevel': 'Organizational',
|
263
|
+
'credentialDetails': {'credentials':{'credentialType': 'Basic',
|
264
|
+
'userName': 'supercoolusername',
|
265
|
+
'password': 'StrongPassword123!'},
|
266
|
+
'singleSignOnType': 'None',
|
267
|
+
'connectionEncryption': 'NotEncrypted',
|
268
|
+
'skipTestConnection': False}
|
269
|
+
}
|
270
|
+
|
271
|
+
connection = fc.create_connection(connection_request=cr)
|
272
|
+
|
273
|
+
# Delete connection
|
274
|
+
status_code = fc.delete_connection(connection_id="id")
|
275
|
+
|
276
|
+
# Delete connection role assignment
|
277
|
+
status_code = fc.delete_connection_role_assignment(connection_id="id",
|
278
|
+
connection_role_assignment_id="role_assi_id")
|
279
|
+
|
280
|
+
# Get Connection
|
281
|
+
connection2 = fc.get_connection(connection_name="display_name")
|
282
|
+
|
283
|
+
# Get connection role assignment
|
284
|
+
role_assi = fc.get_connection_role_assignment(connection_id="id",
|
285
|
+
connection_role_assignment_id="role_assi_id")
|
286
|
+
|
287
|
+
# List connection role assignments
|
288
|
+
role_assis = fc.list_connection_role_assignments(connection_id="id")
|
289
|
+
|
290
|
+
# List Connections
|
291
|
+
connections = fc.list_connections()
|
292
|
+
|
293
|
+
# List supported connection types
|
294
|
+
supported_methods = fc.list_supported_connection_types(gateway_id='gw_id',
|
295
|
+
show_all_creation_methods=True)
|
296
|
+
|
297
|
+
# Update connection
|
298
|
+
cr = {
|
299
|
+
"connectivityType": "ShareableCloud",
|
300
|
+
"displayName": f"sqlserver{datetime_str}"
|
301
|
+
}
|
302
|
+
|
303
|
+
updated_connection = fc.update_connection(connection_id="id", connection_request=cr)
|
304
|
+
|
305
|
+
# Update connection role assignment
|
306
|
+
role_assi = fc.update_connection_role_assignment(connection_id="id",
|
307
|
+
connection_role_assignment_id="role_assi_id",
|
308
|
+
role='UserWithReshare')
|
309
|
+
|
310
|
+
|
228
311
|
```
|
229
312
|
|
230
313
|
### Deployment Pipelines
|
@@ -318,12 +401,18 @@ item = fc.get_item(workspace_id="workspace_id", item_id="item_id")
|
|
318
401
|
# or
|
319
402
|
item = ws.get_item(item_id="item_id")
|
320
403
|
|
404
|
+
# Get item definition
|
405
|
+
response = fc.get_item_definition(workspace_id="123123", item_id="123123", type = "Notebook")
|
321
406
|
|
322
407
|
# List items
|
323
408
|
item_list = fc.list_items(workspace_id="workspace_id")
|
324
409
|
# or
|
325
410
|
item_list = ws.list_items()
|
326
411
|
|
412
|
+
# List item connections
|
413
|
+
connections = fc.list_item_connections(workspace_id = '6a3',
|
414
|
+
item_id = '1bcc876')
|
415
|
+
|
327
416
|
|
328
417
|
# Update an item
|
329
418
|
fc.update_item(workspace_id="workspace_id", item_id="item_id" display_name="new_item_name", description = None, return_item=True)
|
@@ -332,6 +421,9 @@ ws.update_item(item_id="item_id", display_name="new_item_name", description = No
|
|
332
421
|
# or
|
333
422
|
item.update(display_name="new_item_name", description = None, return_item=True)
|
334
423
|
|
424
|
+
# Update item definition
|
425
|
+
response = fc.update_item_definition(workspace_id="dasf",
|
426
|
+
item_id="fsdsd", definition=definition)
|
335
427
|
|
336
428
|
# Delete an item
|
337
429
|
fc.delete_item(workspace_id="workspace_id", item_id="item_id")
|
@@ -342,6 +434,70 @@ item.delete()
|
|
342
434
|
|
343
435
|
```
|
344
436
|
|
437
|
+
### Gateways
|
438
|
+
|
439
|
+
```python
|
440
|
+
|
441
|
+
# Add gateway role assignment
|
442
|
+
principal = {"id" : "75dsbd8",
|
443
|
+
"type" : "ServicePrincipal"}
|
444
|
+
new_ras = fc.add_gateway_role_assignment(gateway_id="gw['id']", principal=principal, role='ConnectionCreator')
|
445
|
+
|
446
|
+
# Create a gateway
|
447
|
+
display_name = 'fabricvnet-123123' + datetime_str
|
448
|
+
gwr = {'displayName': display_name,
|
449
|
+
'capacityId': '33saf79',
|
450
|
+
'virtualNetworkAzureResource': {'virtualNetworkName': 'fabricvnet',
|
451
|
+
'subnetName': 'default3',
|
452
|
+
'resourceGroupName': 'fabricdemo',
|
453
|
+
'subscriptionId': 'cfgf8'},
|
454
|
+
'inactivityMinutesBeforeSleep': 30,
|
455
|
+
'numberOfMemberGateways': 2,
|
456
|
+
'type': 'VirtualNetwork'}
|
457
|
+
|
458
|
+
gw = fc.create_gateway(gateway_request=gwr)
|
459
|
+
|
460
|
+
# Delete gateway
|
461
|
+
resp_code = fc.delete_gateway(gateway_id= "gateway_id")
|
462
|
+
|
463
|
+
# Delete gateway role assignment
|
464
|
+
resp_code = fc.delete_gateway_role_assignment(gateway_id=gw['id'], gateway_role_assignment_id=new_ras['id'])
|
465
|
+
|
466
|
+
# Get gateway
|
467
|
+
gw_ = fc.get_gateway(gateway_id=gw["id"])
|
468
|
+
|
469
|
+
# Get gateway role assignment
|
470
|
+
new_ras_ = fc.get_gateway_role_assignment(gateway_id=gw['id'], gateway_role_assignment_id=new_ras['id'])
|
471
|
+
|
472
|
+
# List gateway members
|
473
|
+
gw_members = fc.list_gateway_members(gateway_id="gw_id")
|
474
|
+
|
475
|
+
# List gateway role assignments
|
476
|
+
ras = fc.list_gateway_role_assignments(gateway_id=gw['id'])
|
477
|
+
|
478
|
+
# list gateways
|
479
|
+
gateways = fc.list_gateways()
|
480
|
+
|
481
|
+
# Update gateway
|
482
|
+
gwr = {
|
483
|
+
"type": "OnPremises",
|
484
|
+
"displayName": "new_name",
|
485
|
+
"loadBalancingSetting": "Failover",
|
486
|
+
"allowCloudConnectionRefresh": False,
|
487
|
+
"allowCustomConnectors": False
|
488
|
+
}
|
489
|
+
|
490
|
+
gw_ = fc.update_gateway(gateway_id="gateway_id", gateway_request="gwr")
|
491
|
+
|
492
|
+
# Update gateway member
|
493
|
+
gw_member = fc.update_gateway_member(gateway_id = "gw_id", gateway_member_id = "gateway_member_id",
|
494
|
+
display_name="display_name_member", enabled=True)
|
495
|
+
|
496
|
+
# Update gateway role assignment
|
497
|
+
new_ras = fc.update_gateway_role_assignment(gateway_id= gw['id'], gateway_role_assignment_id=new_ras['id'], role='Admin')
|
498
|
+
|
499
|
+
```
|
500
|
+
|
345
501
|
### Working with Git
|
346
502
|
|
347
503
|
```python
|
@@ -380,6 +536,11 @@ fc.git_get_status(workspace_id="workspaceid")
|
|
380
536
|
# or
|
381
537
|
ws.git_get_status()
|
382
538
|
|
539
|
+
# Get my credentials
|
540
|
+
git_credentials = fc.get_my_git_credentials(workspace_id="123123")
|
541
|
+
|
542
|
+
# Update my credentials
|
543
|
+
fc.update_my_git_credentials(workspace_id = "1232", git_credentials={"source": "Automatic"})
|
383
544
|
|
384
545
|
# Update from git
|
385
546
|
fc.update_from_git(workspace_id="workspaceid", remote_commit_hash="commit_hash",
|
@@ -485,7 +646,7 @@ ws.run_on_demand_item_job(item_id="item_id", job_type="RunNotebook", execution_d
|
|
485
646
|
item.run_on_demand_item_job(job_type="RunNotebook", execution_data = None)
|
486
647
|
|
487
648
|
# Other job types are e.g.:
|
488
|
-
jobType=Pipeline
|
649
|
+
jobType="Pipeline"
|
489
650
|
|
490
651
|
|
491
652
|
# Get an item job instance
|
@@ -502,6 +663,34 @@ ws.cancel_item_job_instance(item_id="item_id", job_instance_id="job_instance_id"
|
|
502
663
|
# or
|
503
664
|
item.cancel_item_job_instance(job_instance_id="job_instance_id")
|
504
665
|
|
666
|
+
# List item job instances
|
667
|
+
job_instances = fc.list_item_job_instances(workspace_id="workspace_id",
|
668
|
+
item_id="item_id")
|
669
|
+
|
670
|
+
# Create item schedule
|
671
|
+
configuration = {'type': 'Daily',
|
672
|
+
'startDateTime': '2024-11-21T00:00:00',
|
673
|
+
'endDateTime': '2028-11-08T23:59:00',
|
674
|
+
'localTimeZoneId': 'Romance Standard Time',
|
675
|
+
'times': ['15:39']}
|
676
|
+
|
677
|
+
schedule = fc.create_item_schedule(workspace_id="1232", item_id="1232", job_type="sparkjob", configuration=configuration, enabled=True)
|
678
|
+
|
679
|
+
# Delete item schedule
|
680
|
+
fc.delete_item_schedule(workspace_id="1232", item_id="1232", schedule_id="schedule_id", job_type="sparkjob")
|
681
|
+
|
682
|
+
# Get item schedule
|
683
|
+
schedule_check = fc.get_item_schedule(workspace_id="1232", item_id="1232",
|
684
|
+
schedule_id="schedule_id", job_type="sparkjob")
|
685
|
+
|
686
|
+
# Update item schedule
|
687
|
+
schedule_new = fc.update_item_schedule(workspace_id="1232", item_id="1232",
|
688
|
+
schedule_id="schedule_id", job_type="sparkjob", configuration=configuration, enabled=False)
|
689
|
+
|
690
|
+
# List item schedules
|
691
|
+
list_schedules = fc.list_item_schedules(workspace_id="1232", item_id="1232", job_type="sparkjob")
|
692
|
+
|
693
|
+
|
505
694
|
```
|
506
695
|
|
507
696
|
|
@@ -521,6 +710,32 @@ results = fc.get_operation_results(operation_id)
|
|
521
710
|
|
522
711
|
```
|
523
712
|
|
713
|
+
### Managed Private Endpoints
|
714
|
+
|
715
|
+
```python
|
716
|
+
from msfabricpysdkcore import FabricClientCore
|
717
|
+
|
718
|
+
fc = FabricClientCore()
|
719
|
+
|
720
|
+
# Create a workspace managed private endpoint
|
721
|
+
mpe = fc.create_workspace_managed_private_endpoint(workspace_id='535fb',
|
722
|
+
name = 'testmpe',
|
723
|
+
target_private_link_resource_id = '/subscriptions/c78/resourceGroups/fabricdemo/providers/Microsoft.Storage/storageAccounts/pu39',
|
724
|
+
target_subresource_type = 'dfs',
|
725
|
+
request_message = 'testmessage')
|
726
|
+
|
727
|
+
# Delete workspace managed private endpoint
|
728
|
+
status_code = fc.delete_workspace_managed_private_endpoint(workspace_id='53b',
|
729
|
+
managed_private_endpoint_id="mpeid")
|
730
|
+
|
731
|
+
# Get workspace managed private endpoint
|
732
|
+
mpe2 = fc.get_workspace_managed_private_endpoint(workspace_id='5355fb',
|
733
|
+
managed_private_endpoint_id="mpeid")
|
734
|
+
|
735
|
+
# List workspace managed private endpoints
|
736
|
+
mpes = fc.list_workspace_managed_private_endpoints(workspace_id='53b')
|
737
|
+
```
|
738
|
+
|
524
739
|
### One Lake Data Access Security
|
525
740
|
|
526
741
|
```python
|
@@ -567,18 +782,22 @@ from msfabricpysdkcore import FabricClientAdmin
|
|
567
782
|
|
568
783
|
fca = FabricClientAdmin()
|
569
784
|
|
570
|
-
|
571
|
-
# List workspaces
|
572
|
-
ws = fca.list_workspaces(name="testworkspace")[0]
|
573
|
-
|
574
785
|
# Get workspace
|
575
786
|
ws = fca.get_workspace(workspace_id="workspace_id")
|
576
787
|
|
577
|
-
#
|
788
|
+
# List git connectsions
|
789
|
+
git_connections = fca.discover_git_connections()
|
578
790
|
|
791
|
+
# List workspace access details
|
579
792
|
ws_access = fca.list_workspace_access_details("workspace_id")
|
580
|
-
|
581
|
-
|
793
|
+
|
794
|
+
# List workspaces
|
795
|
+
ws = fca.list_workspaces(name="testworkspace")[0]
|
796
|
+
|
797
|
+
# Restore workspace
|
798
|
+
fca.restore_workspace(workspace_id = "213123",
|
799
|
+
new_workspace_admin_principal={"id": "081adiaj3", "type":"User"},
|
800
|
+
new_workspace_name = "Contoso Workspace")
|
582
801
|
```
|
583
802
|
|
584
803
|
### Admin API for Users
|
@@ -1,28 +1,28 @@
|
|
1
1
|
msfabricpysdkcore/__init__.py,sha256=ObRW5Q8IMqrvA6VH6zXSv3n01AzRCGjn5RojJXAR6VE,208
|
2
2
|
msfabricpysdkcore/admin_item.py,sha256=9L09Kb7kn7JW0bqVu1qPOMT6oHLduX4Q5_qhVJZTLxQ,3290
|
3
3
|
msfabricpysdkcore/admin_workspace.py,sha256=umNnIF8sf5Y8BDgfQdfG6sOZrQQc7RJINL9j8DPnm3c,3180
|
4
|
-
msfabricpysdkcore/adminapi.py,sha256=
|
4
|
+
msfabricpysdkcore/adminapi.py,sha256=usvPhIecOSCLvkJJ0Q5_4XUWenJGFoxb2EpF6ooDPNI,27245
|
5
5
|
msfabricpysdkcore/auth.py,sha256=Y9YUDqoArvkD7rLnbQvNBnCXqHJtw6PDRUHMx0CVMT0,4330
|
6
6
|
msfabricpysdkcore/capacity.py,sha256=Q_2-XrZtdf9F67fY0qU3D0ocEOGQq4KtIXAv9dXjQhI,1761
|
7
7
|
msfabricpysdkcore/client.py,sha256=KpHREbfzQRRighyJzyES3COZP3raK0C1-WhxGd07LHU,7890
|
8
|
-
msfabricpysdkcore/coreapi.py,sha256=
|
8
|
+
msfabricpysdkcore/coreapi.py,sha256=yRat_IA3kGBdpP0uaRhjfEZ25aAcxHLVY6b7gvoHCFg,177345
|
9
9
|
msfabricpysdkcore/deployment_pipeline.py,sha256=2d7BqRPgfBiAlQOP4UfYLmFMM8xonSjPkJKhevIKGEY,5756
|
10
10
|
msfabricpysdkcore/domain.py,sha256=92IVvZ3jXHIT1a0zlTPD7uoQX6TcBBE_Y_b4dScxHSU,6949
|
11
11
|
msfabricpysdkcore/environment.py,sha256=4k2Le1mAQIrfcpNc3n1DbgdCzAldGTSTCbiDQGk0DlA,2784
|
12
12
|
msfabricpysdkcore/fabric_azure_capacity.py,sha256=7JxMp9weiKG_mDjlRK-88oIXr0kdG0pzv-Ouycf3fus,2808
|
13
13
|
msfabricpysdkcore/fabric_azure_client.py,sha256=I7Z0Y8Xy_esQcPaXgPL7EAkQmoQkAklJO4hxk_90dno,10722
|
14
|
-
msfabricpysdkcore/item.py,sha256=
|
15
|
-
msfabricpysdkcore/job_instance.py,sha256=
|
14
|
+
msfabricpysdkcore/item.py,sha256=xMbIdITQ8Ii1-8hnvR7M4mUXPpCmsUL2tlKBxT-wEsE,8900
|
15
|
+
msfabricpysdkcore/job_instance.py,sha256=rtZp-OpuzfdMiQyuQLum38lgcfSZJTr3s9sECZglcWg,2389
|
16
16
|
msfabricpysdkcore/lakehouse.py,sha256=yIrzatWM9emPn-Y54Cg_ZdAydIWjxrpK65jIQ4SClgE,1703
|
17
17
|
msfabricpysdkcore/long_running_operation.py,sha256=XTlsueSZKVFICxhx99geEQ6btZFlFb8-lssigmQ9c6Y,2133
|
18
18
|
msfabricpysdkcore/onelakeshortcut.py,sha256=H02wR6Z86qTEJOwVRMKz1Ou3K88Y9pfJa91vizjprvo,1661
|
19
|
-
msfabricpysdkcore/otheritems.py,sha256=
|
19
|
+
msfabricpysdkcore/otheritems.py,sha256=6Gqx2w7VWRq6G7qOCkmhmUha5f52WZQ3jPA5A0HzwZc,15355
|
20
20
|
msfabricpysdkcore/spark_custom_pool.py,sha256=YsEULaQG-FO507aPIb-4kk93ZWBmDZj6fbOEHYoyxHE,3188
|
21
|
-
msfabricpysdkcore/workspace.py,sha256=
|
21
|
+
msfabricpysdkcore/workspace.py,sha256=oiZADyl5VTRKtIGivcBU0kWUTVYKJEyHvrYauVEjbRU,49965
|
22
22
|
msfabricpysdkcore/util/__init__.py,sha256=p-1dC4AurfKdIUppNVlRCIcmwHBTURqfgIwxcie3fEA,50
|
23
23
|
msfabricpysdkcore/util/logger.py,sha256=XXdeaqI-BhXZgacChKrWP88TPU4FTWvS8L0YWjCT54A,1166
|
24
|
-
msfabricpysdkcore-0.1.
|
25
|
-
msfabricpysdkcore-0.1.
|
26
|
-
msfabricpysdkcore-0.1.
|
27
|
-
msfabricpysdkcore-0.1.
|
28
|
-
msfabricpysdkcore-0.1.
|
24
|
+
msfabricpysdkcore-0.2.1.dist-info/LICENSE,sha256=1NrGuF-zOmzbwzk3iI6lsP9koyDeKO1B0-8OD_tTvOQ,1156
|
25
|
+
msfabricpysdkcore-0.2.1.dist-info/METADATA,sha256=WmhOfDyrAtkQSTxeN0QeEgqoQtR7lJAfQvxsiDpzZ5A,32114
|
26
|
+
msfabricpysdkcore-0.2.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
27
|
+
msfabricpysdkcore-0.2.1.dist-info/top_level.txt,sha256=3iRonu6ptDGQN4Yl6G76XGM7xbFNsskiEHW-P2gMQGY,18
|
28
|
+
msfabricpysdkcore-0.2.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|