msfabricpysdkcore 0.2.7__py3-none-any.whl → 0.2.9__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/client.py +2 -0
- msfabricpysdkcore/coreapi.py +55 -10
- msfabricpysdkcore/item.py +5 -0
- msfabricpysdkcore/tests/__init__.py +0 -0
- msfabricpysdkcore/tests/test_admin_apis.py +174 -0
- msfabricpysdkcore/tests/test_admin_tags.py +46 -0
- msfabricpysdkcore/tests/test_apache_airflow_job.py +60 -0
- msfabricpysdkcore/tests/test_connection.py +111 -0
- msfabricpysdkcore/tests/test_copy_jobs.py +60 -0
- msfabricpysdkcore/tests/test_dataflows.py +60 -0
- msfabricpysdkcore/tests/test_datapipelines.py +60 -0
- msfabricpysdkcore/tests/test_deployment_pipelinev2.py +135 -0
- msfabricpysdkcore/tests/test_digital_twin_builder.py +60 -0
- msfabricpysdkcore/tests/test_domains.py +119 -0
- msfabricpysdkcore/tests/test_environments.py +121 -0
- msfabricpysdkcore/tests/test_evenstreams.py +57 -0
- msfabricpysdkcore/tests/test_eventhouses.py +63 -0
- msfabricpysdkcore/tests/test_eventstream_topology.py +82 -0
- msfabricpysdkcore/tests/test_external_data_shares.py +51 -0
- msfabricpysdkcore/tests/test_fabric_azure_client.py +80 -0
- msfabricpysdkcore/tests/test_folders.py +56 -0
- msfabricpysdkcore/tests/test_gateways.py +99 -0
- msfabricpysdkcore/tests/test_git.py +66 -0
- msfabricpysdkcore/tests/test_graphqlapi.py +44 -0
- msfabricpysdkcore/tests/test_items.py +97 -0
- msfabricpysdkcore/tests/test_jobs.py +98 -0
- msfabricpysdkcore/tests/test_kql_dashboards.py +63 -0
- msfabricpysdkcore/tests/test_kql_queryset.py +60 -0
- msfabricpysdkcore/tests/test_kqldatabases.py +56 -0
- msfabricpysdkcore/tests/test_lakehouse.py +89 -0
- msfabricpysdkcore/tests/test_managed_private_endpoints.py +62 -0
- msfabricpysdkcore/tests/test_mirrored_azuredatabricks_catalog.py +81 -0
- msfabricpysdkcore/tests/test_mirroreddatabases.py +80 -0
- msfabricpysdkcore/tests/test_ml_experiments.py +45 -0
- msfabricpysdkcore/tests/test_ml_models.py +46 -0
- msfabricpysdkcore/tests/test_mounted_adf.py +64 -0
- msfabricpysdkcore/tests/test_notebooks.py +58 -0
- msfabricpysdkcore/tests/test_one_lake_data_access_security.py +63 -0
- msfabricpysdkcore/tests/test_other_items.py +45 -0
- msfabricpysdkcore/tests/test_reflex.py +56 -0
- msfabricpysdkcore/tests/test_reports.py +56 -0
- msfabricpysdkcore/tests/test_semantic_model.py +56 -0
- msfabricpysdkcore/tests/test_shortcuts.py +59 -0
- msfabricpysdkcore/tests/test_spark.py +91 -0
- msfabricpysdkcore/tests/test_sparkjobdefinition.py +55 -0
- msfabricpysdkcore/tests/test_sql_endpoint.py +28 -0
- msfabricpysdkcore/tests/test_sqldatabases.py +45 -0
- msfabricpysdkcore/tests/test_tags.py +28 -0
- msfabricpysdkcore/tests/test_variable_libary.py +61 -0
- msfabricpysdkcore/tests/test_warehouses.py +50 -0
- msfabricpysdkcore/tests/test_workspaces_capacities.py +159 -0
- msfabricpysdkcore/workspace.py +28 -7
- {msfabricpysdkcore-0.2.7.dist-info → msfabricpysdkcore-0.2.9.dist-info}/METADATA +37 -3
- msfabricpysdkcore-0.2.9.dist-info/RECORD +78 -0
- msfabricpysdkcore-0.2.7.dist-info/RECORD +0 -30
- {msfabricpysdkcore-0.2.7.dist-info → msfabricpysdkcore-0.2.9.dist-info}/WHEEL +0 -0
- {msfabricpysdkcore-0.2.7.dist-info → msfabricpysdkcore-0.2.9.dist-info}/licenses/LICENSE +0 -0
- {msfabricpysdkcore-0.2.7.dist-info → msfabricpysdkcore-0.2.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
import unittest
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from msfabricpysdkcore import FabricClientCore
|
5
|
+
from datetime import datetime
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
class TestFabricClientCore(unittest.TestCase):
|
9
|
+
|
10
|
+
def __init__(self, *args, **kwargs):
|
11
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
12
|
+
self.fcc = FabricClientCore()
|
13
|
+
|
14
|
+
def test_variable_librarys(self):
|
15
|
+
fcc = self.fcc
|
16
|
+
|
17
|
+
workspace_id = "05bc5baa-ef02-4a31-ab20-158a478151d3"
|
18
|
+
item_id = "0812f094-1a5a-4b2a-aba2-e764af2709ec"
|
19
|
+
|
20
|
+
variable_librarys = fcc.list_variable_libraries(workspace_id=workspace_id)
|
21
|
+
for variable_library in variable_librarys:
|
22
|
+
if variable_library.id != item_id:
|
23
|
+
resp = fcc.delete_variable_library(workspace_id=workspace_id, variable_library_id=variable_library.id)
|
24
|
+
self.assertEqual(resp, 200)
|
25
|
+
|
26
|
+
variable_library_definition = fcc.get_variable_library_definition(workspace_id=workspace_id, variable_library_id=item_id)
|
27
|
+
self.assertIn("definition", variable_library_definition)
|
28
|
+
definition = variable_library_definition["definition"]
|
29
|
+
|
30
|
+
date_str = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
31
|
+
date_str = date_str.replace(" ", "T").replace(":", "").replace("-", "")
|
32
|
+
date_str = f"variablelibrary{date_str}"
|
33
|
+
|
34
|
+
variable_library_new = fcc.create_variable_library(workspace_id=workspace_id, display_name=date_str, definition=definition)
|
35
|
+
|
36
|
+
self.assertEqual(variable_library_new.display_name, date_str)
|
37
|
+
|
38
|
+
variable_library_get = fcc.get_variable_library(workspace_id=workspace_id, variable_library_id=variable_library_new.id)
|
39
|
+
self.assertEqual(variable_library_get.display_name, date_str)
|
40
|
+
|
41
|
+
variable_librarys = fcc.list_variable_libraries(workspace_id=workspace_id)
|
42
|
+
self.assertEqual(len(variable_librarys), 2)
|
43
|
+
|
44
|
+
date_str_updated = date_str + "_updated"
|
45
|
+
variable_library_updated = fcc.update_variable_library(workspace_id=workspace_id, variable_library_id=variable_library_new.id, display_name=date_str_updated, return_item=True)
|
46
|
+
self.assertEqual(variable_library_updated.display_name, date_str_updated)
|
47
|
+
|
48
|
+
variable_library_updated = fcc.update_variable_library_definition(workspace_id=workspace_id, variable_library_id=variable_library_new.id, definition=definition)
|
49
|
+
self.assertIn(variable_library_updated.status_code, [200, 202])
|
50
|
+
|
51
|
+
for variable_library in variable_librarys:
|
52
|
+
if variable_library.id != item_id:
|
53
|
+
resp = fcc.delete_variable_library(workspace_id=workspace_id, variable_library_id=variable_library.id)
|
54
|
+
self.assertEqual(resp, 200)
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import unittest
|
2
|
+
from datetime import datetime
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from time import sleep
|
5
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
6
|
+
|
7
|
+
load_dotenv()
|
8
|
+
|
9
|
+
class TestFabricClientCore(unittest.TestCase):
|
10
|
+
|
11
|
+
def __init__(self, *args, **kwargs):
|
12
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
13
|
+
#load_dotenv()
|
14
|
+
self.fc = FabricClientCore()
|
15
|
+
|
16
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
17
|
+
self.item_name = "testitem" + datetime_str
|
18
|
+
self.item_type = "Notebook"
|
19
|
+
|
20
|
+
|
21
|
+
def test_warehouses(self):
|
22
|
+
|
23
|
+
fc = self.fc
|
24
|
+
workspace_id = '05bc5baa-ef02-4a31-ab20-158a478151d3'
|
25
|
+
|
26
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
27
|
+
warehouse1 = f"wh{datetime_str}"
|
28
|
+
warehouse = fc.create_warehouse(workspace_id, display_name=warehouse1)
|
29
|
+
self.assertIsNotNone(warehouse.id)
|
30
|
+
|
31
|
+
warehouses = fc.list_warehouses(workspace_id)
|
32
|
+
warehouse_names = [wh.display_name for wh in warehouses]
|
33
|
+
self.assertGreater(len(warehouses), 0)
|
34
|
+
self.assertIn(warehouse1, warehouse_names)
|
35
|
+
|
36
|
+
warehouse = fc.get_warehouse(workspace_id, warehouse_name=warehouse1)
|
37
|
+
self.assertIsNotNone(warehouse.id)
|
38
|
+
self.assertEqual(warehouse.display_name, warehouse1)
|
39
|
+
|
40
|
+
warehouse2 = fc.update_warehouse(workspace_id, warehouse.id, display_name=f"{warehouse1}2", return_item=True)
|
41
|
+
warehouse = fc.get_warehouse(workspace_id, warehouse_id=warehouse.id)
|
42
|
+
self.assertEqual(warehouse.display_name, f"{warehouse1}2")
|
43
|
+
self.assertEqual(warehouse.id, warehouse2.id)
|
44
|
+
|
45
|
+
status_code = fc.delete_warehouse(workspace_id, warehouse.id)
|
46
|
+
self.assertEqual(status_code, 200)
|
47
|
+
|
48
|
+
|
49
|
+
if __name__ == "__main__":
|
50
|
+
unittest.main()
|
@@ -0,0 +1,159 @@
|
|
1
|
+
import unittest
|
2
|
+
from dotenv import load_dotenv
|
3
|
+
from datetime import datetime
|
4
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
5
|
+
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
class TestFabricClientCore(unittest.TestCase):
|
9
|
+
|
10
|
+
def __init__(self, *args, **kwargs):
|
11
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
12
|
+
self.fc = FabricClientCore()
|
13
|
+
|
14
|
+
|
15
|
+
def test_end_to_end_workspace(self):
|
16
|
+
fc = self.fc
|
17
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
18
|
+
display_name = "testws" + datetime_str
|
19
|
+
|
20
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
21
|
+
workspace_name_new = "newws" + datetime_str
|
22
|
+
ws_created = fc.create_workspace(display_name=display_name,
|
23
|
+
description="test workspace",
|
24
|
+
exists_ok=False)
|
25
|
+
# Add assertions here to verify the result
|
26
|
+
self.assertEqual(ws_created.display_name, display_name)
|
27
|
+
workspace_id = ws_created.id
|
28
|
+
ws = fc.get_workspace_by_id(id = workspace_id)
|
29
|
+
self.assertEqual(ws.display_name, display_name)
|
30
|
+
self.assertEqual(ws.description, "test workspace")
|
31
|
+
|
32
|
+
# def test_assign_to_capacity(self):
|
33
|
+
|
34
|
+
result_status_code = fc.assign_to_capacity(workspace_id=ws.id,
|
35
|
+
capacity_id="9e7e757d-d567-4fb3-bc4f-d230aabf2a00")
|
36
|
+
self.assertEqual(result_status_code, 202)
|
37
|
+
|
38
|
+
|
39
|
+
# def test_list_workspaces(self):
|
40
|
+
|
41
|
+
result = fc.list_workspaces()
|
42
|
+
display_names = [ws.display_name for ws in result]
|
43
|
+
self.assertIn(display_name, display_names)
|
44
|
+
|
45
|
+
for ws in result:
|
46
|
+
if ws.display_name == display_name:
|
47
|
+
self.assertEqual(ws.capacity_id, "9e7e757d-d567-4fb3-bc4f-d230aabf2a00")
|
48
|
+
|
49
|
+
|
50
|
+
# def test_get_workspace_by_name(self):
|
51
|
+
|
52
|
+
workspace_name = display_name
|
53
|
+
ws = fc.get_workspace_by_name(name = workspace_name)
|
54
|
+
self.assertEqual(ws.display_name, display_name)
|
55
|
+
|
56
|
+
# def test_get_workspace_by_id(self):
|
57
|
+
ws = fc.get_workspace_by_id(id = workspace_id)
|
58
|
+
self.assertEqual(display_name, ws.display_name)
|
59
|
+
|
60
|
+
|
61
|
+
# def test_get_workspace(self):
|
62
|
+
result = fc.get_workspace_by_id(id = workspace_id)
|
63
|
+
self.assertEqual(result.display_name, display_name)
|
64
|
+
|
65
|
+
# def test_add_role_assignment(self):
|
66
|
+
result_status = fc.add_workspace_role_assignment(workspace_id = ws.id,
|
67
|
+
principal = {"id" : "755f273c-98f8-408c-a886-691794938bd8",
|
68
|
+
"type" : "ServicePrincipal"},
|
69
|
+
role = 'Member')
|
70
|
+
|
71
|
+
self.assertEqual(result_status, 201)
|
72
|
+
|
73
|
+
# def test_get_workspace_role_assignments(self):
|
74
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
75
|
+
self.assertTrue(len(result) == 2)
|
76
|
+
for user in result:
|
77
|
+
if user["principal"]["displayName"] == "fabrictestuser":
|
78
|
+
self.assertEqual(user["role"], "Member")
|
79
|
+
|
80
|
+
# Get get_workspace_role_assignment
|
81
|
+
|
82
|
+
result = fc.get_workspace_role_assignment(workspace_id = ws.id,
|
83
|
+
workspace_role_assignment_id = user["id"])
|
84
|
+
|
85
|
+
self.assertEqual(result["role"], "Member")
|
86
|
+
|
87
|
+
# def test_update_workspace_role_assignment(self):
|
88
|
+
|
89
|
+
result_status_code = fc.update_workspace_role_assignment(workspace_id = ws.id,
|
90
|
+
role = "Contributor",
|
91
|
+
workspace_role_assignment_id= user["id"])
|
92
|
+
|
93
|
+
self.assertEqual(result_status_code, 200)
|
94
|
+
|
95
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
96
|
+
self.assertTrue(len(result) == 2)
|
97
|
+
for user in result:
|
98
|
+
if user["principal"]["displayName"] == "fabrictestuser":
|
99
|
+
self.assertTrue(user["role"] == "Contributor")
|
100
|
+
|
101
|
+
# def test_delete_role_assignment(self):
|
102
|
+
result_status_code = fc.delete_workspace_role_assignment(workspace_id = ws.id,
|
103
|
+
workspace_role_assignment_id = user["id"])
|
104
|
+
self.assertEqual(result_status_code, 200)
|
105
|
+
|
106
|
+
# def test_get_workspace_role_assignments(self):
|
107
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
108
|
+
self.assertTrue(len(result) == 1)
|
109
|
+
user = result[0]
|
110
|
+
# self.assertTrue(user["principal"]["displayName"] == "fabricapi")
|
111
|
+
self.assertTrue(user["role"] == "Admin")
|
112
|
+
|
113
|
+
# def test_update_workspace(self):
|
114
|
+
ws_updated = fc.update_workspace(workspace_id=ws.id,
|
115
|
+
display_name=workspace_name_new,
|
116
|
+
description="new description")
|
117
|
+
self.assertEqual(ws_updated.display_name, workspace_name_new)
|
118
|
+
self.assertEqual(ws_updated.description, "new description")
|
119
|
+
ws = fc.get_workspace_by_id(id = ws.id)
|
120
|
+
self.assertEqual(ws.display_name, workspace_name_new)
|
121
|
+
self.assertEqual(ws.description, "new description")
|
122
|
+
|
123
|
+
# def test_unassign_from_capacity(self):
|
124
|
+
|
125
|
+
result_status_code = fc.unassign_from_capacity(workspace_id=ws.id)
|
126
|
+
self.assertEqual(result_status_code, 202)
|
127
|
+
ws = fc.get_workspace_by_id(ws.id)
|
128
|
+
self.assertEqual(ws.capacity_id, None)
|
129
|
+
|
130
|
+
# result = fc.provision_identity(workspace_id=ws.id)
|
131
|
+
# self.assertIsNotNone(result["applicationId"])
|
132
|
+
# fc.deprovision_identity(workspace_id=ws.id)
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
# def test_delete_workspace(self):
|
137
|
+
result_status = fc.delete_workspace(display_name=workspace_name_new)
|
138
|
+
self.assertEqual(result_status, 200)
|
139
|
+
|
140
|
+
def test_list_capacities(self):
|
141
|
+
result = self.fc.list_capacities()
|
142
|
+
self.assertTrue(len(result) > 0)
|
143
|
+
cap_ids = [cap.id for cap in result]
|
144
|
+
self.assertIn("9e7e757d-d567-4fb3-bc4f-d230aabf2a00", cap_ids)
|
145
|
+
|
146
|
+
def test_get_capacity(self):
|
147
|
+
capacity = self.fc.get_capacity(capacity_id = "9e7e757d-d567-4fb3-bc4f-d230aabf2a00")
|
148
|
+
self.assertEqual(capacity.id, "9e7e757d-d567-4fb3-bc4f-d230aabf2a00")
|
149
|
+
|
150
|
+
cap = self.fc.get_capacity(capacity_name= capacity.display_name)
|
151
|
+
|
152
|
+
self.assertEqual(capacity.id, cap.id)
|
153
|
+
self.assertIsNotNone(cap.state)
|
154
|
+
self.assertIsNotNone(cap.sku)
|
155
|
+
self.assertIsNotNone(cap.region)
|
156
|
+
|
157
|
+
|
158
|
+
if __name__ == "__main__":
|
159
|
+
unittest.main()
|
msfabricpysdkcore/workspace.py
CHANGED
@@ -6,21 +6,34 @@ from msfabricpysdkcore.coreapi import FabricClientCore
|
|
6
6
|
class Workspace:
|
7
7
|
"""Class to represent a workspace in Microsoft Fabric"""
|
8
8
|
|
9
|
-
def __init__(self, id, display_name, description, type, core_client: FabricClientCore, capacity_id = None
|
9
|
+
def __init__(self, id, display_name, description, type, core_client: FabricClientCore, capacity_id = None,
|
10
|
+
capacity_region = None, one_lake_endpoints = None, capacity_assignment_progress = None,
|
11
|
+
workspace_identity = None) -> None:
|
10
12
|
self.id = id
|
11
13
|
self.display_name = display_name
|
12
14
|
self.description = description
|
13
15
|
self.type = type
|
14
16
|
self.capacity_id = capacity_id
|
17
|
+
self.capacity_region = capacity_region
|
18
|
+
self.one_lake_endpoints = one_lake_endpoints
|
19
|
+
self.capacity_assignment_progress = capacity_assignment_progress
|
20
|
+
self.workspace_identity = workspace_identity
|
15
21
|
|
16
22
|
self.core_client = core_client
|
17
23
|
|
18
24
|
|
19
25
|
def from_dict(dict, core_client):
|
20
26
|
"""Create a Workspace object from a dictionary"""
|
21
|
-
return Workspace(id=dict['id'], display_name=dict['displayName'],
|
27
|
+
return Workspace(id=dict['id'], display_name=dict['displayName'],
|
28
|
+
description=dict['description'],
|
29
|
+
type=dict['type'],
|
30
|
+
capacity_id=dict.get('capacityId', None),
|
31
|
+
capacity_region=dict.get('capacityRegion', None),
|
32
|
+
one_lake_endpoints=dict.get('oneLakeEndpoints', None),
|
33
|
+
capacity_assignment_progress=dict.get('capacityAssignmentProgress', None),
|
34
|
+
workspace_identity=dict.get('workspaceIdentity', None),
|
22
35
|
core_client=core_client)
|
23
|
-
|
36
|
+
|
24
37
|
def __str__(self) -> str:
|
25
38
|
"""Return a string representation of the workspace object"""
|
26
39
|
dict_ = {
|
@@ -28,7 +41,12 @@ class Workspace:
|
|
28
41
|
'display_name': self.display_name,
|
29
42
|
'description': self.description,
|
30
43
|
'type': self.type,
|
31
|
-
'capacity_id': self.capacity_id
|
44
|
+
'capacity_id': self.capacity_id,
|
45
|
+
'capacity_region': self.capacity_region,
|
46
|
+
'one_lake_endpoints': self.one_lake_endpoints,
|
47
|
+
'capacity_assignment_progress': self.capacity_assignment_progress,
|
48
|
+
'workspace_identity': self.workspace_identity
|
49
|
+
|
32
50
|
}
|
33
51
|
return json.dumps(dict_, indent=2)
|
34
52
|
|
@@ -307,6 +325,9 @@ class Workspace:
|
|
307
325
|
def create_shortcut(self, item_id, path, name, target):
|
308
326
|
return self.core_client.create_shortcut(workspace_id=self.id, item_id=item_id,
|
309
327
|
path=path, name=name, target=target)
|
328
|
+
|
329
|
+
def create_shortcuts_bulk(self, item_id, create_shortcut_requests):
|
330
|
+
return self.core_client.create_shortcuts_bulk(workspace_id=self.id, item_id=item_id, create_shortcut_requests=create_shortcut_requests)
|
310
331
|
|
311
332
|
def delete_shortcut(self, item_id, path, name):
|
312
333
|
return self.core_client.delete_shortcut(self.id, item_id, path=path, name=name)
|
@@ -354,9 +375,9 @@ class Workspace:
|
|
354
375
|
return self.core_client.commit_to_git(workspace_id=self.id, mode=mode, comment=comment,
|
355
376
|
items=items, workspace_head=workspace_head)
|
356
377
|
|
357
|
-
|
358
|
-
|
359
|
-
|
378
|
+
def git_connect(self, git_provider_details, my_git_credentials):
|
379
|
+
return self.core_client.git_connect(workspace_id=self.id, git_provider_details=git_provider_details,
|
380
|
+
my_git_credentials=my_git_credentials)
|
360
381
|
|
361
382
|
def git_disconnect(self):
|
362
383
|
return self.core_client.git_disconnect(workspace_id=self.id)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: msfabricpysdkcore
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.9
|
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
|
@@ -653,9 +653,15 @@ git_provider_details = {'organizationName': 'dasenf1860',
|
|
653
653
|
'branchName': 'main',
|
654
654
|
'directoryName': '/folder1'}
|
655
655
|
|
656
|
-
|
656
|
+
# Optional:
|
657
|
+
my_git_credentials = {
|
658
|
+
"source": "ConfiguredConnection",
|
659
|
+
"connectionId": "3f2asdfasdf82c3301"
|
660
|
+
}
|
661
|
+
|
662
|
+
fc.git_connect(workspace_id="workspaceid", git_provider_details=git_provider_details, my_git_credentials=my_git_credentials)
|
657
663
|
# or
|
658
|
-
ws.git_connect(git_provider_details=git_provider_details)
|
664
|
+
ws.git_connect(git_provider_details=git_provider_details, my_git_credentials=my_git_credentials)
|
659
665
|
|
660
666
|
|
661
667
|
# Initialize a git connection
|
@@ -731,6 +737,34 @@ item.create_shortcut(path="path",
|
|
731
737
|
"workspaceId": "workspace_id_target"}})
|
732
738
|
|
733
739
|
|
740
|
+
# Bulk create shortcuts
|
741
|
+
fc.create_shortcuts_bulk(workspace_id="workspace_id",
|
742
|
+
item_id="item_id",
|
743
|
+
create_shortcut_requests=[
|
744
|
+
{
|
745
|
+
"path": "Files",
|
746
|
+
"name": "sales_2023",
|
747
|
+
"target": {
|
748
|
+
"oneLake": {
|
749
|
+
"workspaceId": "workspace_id_target",
|
750
|
+
"itemId": "item_id_target",
|
751
|
+
"path": "Tables/Sales2023"
|
752
|
+
}
|
753
|
+
}
|
754
|
+
},
|
755
|
+
{
|
756
|
+
"path": "Files/landingZone",
|
757
|
+
"name": "PartnerProducts",
|
758
|
+
"target": {
|
759
|
+
"adlsGen2": {
|
760
|
+
"location": "https://casdfasdfat.dfs.core.windows.net",
|
761
|
+
"subpath": "/mycontainer/data/ContosoProducts",
|
762
|
+
"connectionId": "91asdfasdfa1e"
|
763
|
+
}
|
764
|
+
}
|
765
|
+
}
|
766
|
+
])
|
767
|
+
|
734
768
|
# Get a shortcut
|
735
769
|
shortcut = fc.get_shortcut(workspace_id="workspace_id",
|
736
770
|
item_id="item_id",
|
@@ -0,0 +1,78 @@
|
|
1
|
+
msfabricpysdkcore/__init__.py,sha256=ObRW5Q8IMqrvA6VH6zXSv3n01AzRCGjn5RojJXAR6VE,208
|
2
|
+
msfabricpysdkcore/admin_item.py,sha256=9L09Kb7kn7JW0bqVu1qPOMT6oHLduX4Q5_qhVJZTLxQ,3290
|
3
|
+
msfabricpysdkcore/admin_workspace.py,sha256=umNnIF8sf5Y8BDgfQdfG6sOZrQQc7RJINL9j8DPnm3c,3180
|
4
|
+
msfabricpysdkcore/adminapi.py,sha256=ldne1ML_t_o42WGwz9UNJM_qEaT9kjtmypexY3ECpZE,39930
|
5
|
+
msfabricpysdkcore/auth.py,sha256=Y9YUDqoArvkD7rLnbQvNBnCXqHJtw6PDRUHMx0CVMT0,4330
|
6
|
+
msfabricpysdkcore/capacity.py,sha256=Q_2-XrZtdf9F67fY0qU3D0ocEOGQq4KtIXAv9dXjQhI,1761
|
7
|
+
msfabricpysdkcore/client.py,sha256=GRzKDPjABnGbPbmN3B_aFsIHUVPH2NGG3-bOd82lMgQ,8084
|
8
|
+
msfabricpysdkcore/coreapi.py,sha256=7IrMnxDPeg_6ciwYhiEg49_1Z4g4i15RrwXgDl6NZSU,304059
|
9
|
+
msfabricpysdkcore/deployment_pipeline.py,sha256=0yTLwSJZDSLF5LU882GuTs-_KZkMDP_k5l_GAV1nf-Y,10156
|
10
|
+
msfabricpysdkcore/domain.py,sha256=MAv7R64waQgI3OF1f5hmMdH98pJIb-BPTCZSvPZDzgU,7061
|
11
|
+
msfabricpysdkcore/environment.py,sha256=4k2Le1mAQIrfcpNc3n1DbgdCzAldGTSTCbiDQGk0DlA,2784
|
12
|
+
msfabricpysdkcore/eventstream.py,sha256=e9u16sVARI0yUktzY5oaj3R-QvJXGpP6lPH-TFzbVvU,4517
|
13
|
+
msfabricpysdkcore/fabric_azure_capacity.py,sha256=7JxMp9weiKG_mDjlRK-88oIXr0kdG0pzv-Ouycf3fus,2808
|
14
|
+
msfabricpysdkcore/fabric_azure_client.py,sha256=I7Z0Y8Xy_esQcPaXgPL7EAkQmoQkAklJO4hxk_90dno,10722
|
15
|
+
msfabricpysdkcore/folder.py,sha256=-nop7KsVr9Nha_tY1nlOwkpjzVd6QfaR2nZG7mgLcvU,2782
|
16
|
+
msfabricpysdkcore/item.py,sha256=4oRVw4gDG_9tRQocN3k6GSMIiK6sktyywwefzygFgx8,9738
|
17
|
+
msfabricpysdkcore/job_instance.py,sha256=rtZp-OpuzfdMiQyuQLum38lgcfSZJTr3s9sECZglcWg,2389
|
18
|
+
msfabricpysdkcore/lakehouse.py,sha256=iYjj4EUJ9ylVw6f0BAguuFeHRxwSAIasFqbTlRIse7A,2081
|
19
|
+
msfabricpysdkcore/long_running_operation.py,sha256=XTlsueSZKVFICxhx99geEQ6btZFlFb8-lssigmQ9c6Y,2133
|
20
|
+
msfabricpysdkcore/onelakeshortcut.py,sha256=H02wR6Z86qTEJOwVRMKz1Ou3K88Y9pfJa91vizjprvo,1661
|
21
|
+
msfabricpysdkcore/otheritems.py,sha256=CXKobc2lqup3KOlqRp5yxYBM7Wvb0BLDe9F5iwEv1fc,26255
|
22
|
+
msfabricpysdkcore/spark_custom_pool.py,sha256=YsEULaQG-FO507aPIb-4kk93ZWBmDZj6fbOEHYoyxHE,3188
|
23
|
+
msfabricpysdkcore/workspace.py,sha256=4r-7Pf7ovT-hnM9Mj-iW4yW-wDR4fAm79sUZ88Baep0,93373
|
24
|
+
msfabricpysdkcore/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
+
msfabricpysdkcore/tests/test_admin_apis.py,sha256=772WGrjmz5gVGBBWo_qkZD1IT9M7qfOO4J1a8B0udnE,6852
|
26
|
+
msfabricpysdkcore/tests/test_admin_tags.py,sha256=DRfoRJ7TUn6BcJdeV-xcEUifu8-_LGiM_9jmWEqRpqs,1564
|
27
|
+
msfabricpysdkcore/tests/test_apache_airflow_job.py,sha256=MLw6P99blS_9nBg9zE4ADl7bpDCUJkO7WTStH48Qt74,2819
|
28
|
+
msfabricpysdkcore/tests/test_connection.py,sha256=jmwvRwfp81-a3eHjC_rBFgBJJihZ63qXVdfilTaxHYw,4491
|
29
|
+
msfabricpysdkcore/tests/test_copy_jobs.py,sha256=BDS1OQvHq3iZzi9EpdhyZXlHyqw91no3PcpqDpL_5Ws,2415
|
30
|
+
msfabricpysdkcore/tests/test_dataflows.py,sha256=JjJVI-MQu4aQxEPxyOX9rJFw1-C2ncbSJq9mqfxuoNw,2416
|
31
|
+
msfabricpysdkcore/tests/test_datapipelines.py,sha256=Z9ftGVkpvYe3ZSX5yti_UHUa5SzKToKVsT2Inopw5Cc,2626
|
32
|
+
msfabricpysdkcore/tests/test_deployment_pipelinev2.py,sha256=QxydDk-mwmDFX9Iof1dFJn_fnQ5g6okKgjZXow4WIIo,5641
|
33
|
+
msfabricpysdkcore/tests/test_digital_twin_builder.py,sha256=t6PugShbtgs3KpMkwUMZl1JVcH9cYCCYIt8gDHYMzDc,2904
|
34
|
+
msfabricpysdkcore/tests/test_domains.py,sha256=pG-06uj8r0JOQ_AtuBsFQ_cVudaDAayW36UqWHEHMl0,4566
|
35
|
+
msfabricpysdkcore/tests/test_environments.py,sha256=8EoAgj1ohXXcMN1iKxKX9wlHPo6MBok7UWDYEafxOY8,5470
|
36
|
+
msfabricpysdkcore/tests/test_evenstreams.py,sha256=zOyoztpA_SHiuSU-cyilcccD7p88ssU_8k6uxC8ACqo,2566
|
37
|
+
msfabricpysdkcore/tests/test_eventhouses.py,sha256=ojQZWwtHwTNItZsbjLxQvkO6ulYgod7c3035gGGojxw,2699
|
38
|
+
msfabricpysdkcore/tests/test_eventstream_topology.py,sha256=V69pVWBsiyGCW2WBmD_AXOvVszbk4oDKw7u2pa09IwI,3112
|
39
|
+
msfabricpysdkcore/tests/test_external_data_shares.py,sha256=_YpoE1MM3lzUhhUWRcLeE7_010SGr-nRADnvJCE9syE,1550
|
40
|
+
msfabricpysdkcore/tests/test_fabric_azure_client.py,sha256=MrzwS2GKPC7qtvRsg6iLc9Zj63P146_g9AqIdFmhY4g,3100
|
41
|
+
msfabricpysdkcore/tests/test_folders.py,sha256=5CYpab71KBnnU52J6i-gJjfZZ8yA7Zuauz7WZL8AC84,1967
|
42
|
+
msfabricpysdkcore/tests/test_gateways.py,sha256=cZY70r2sv1LlOpzQiMu91ouMqnBiBjMGzNUPCbRqlBY,3686
|
43
|
+
msfabricpysdkcore/tests/test_git.py,sha256=nHx7db8mjvqUsw5yQcs8yEHs4_lY9L4xCmn_6vCJ8IA,2567
|
44
|
+
msfabricpysdkcore/tests/test_graphqlapi.py,sha256=NGAIfh0GjAtgKybTNCgHa2Fs2AwR34_pP6QGAgJ7Wpw,1633
|
45
|
+
msfabricpysdkcore/tests/test_items.py,sha256=8NVIY_4GdxbufVwVrNrJubZmx0Zobc5PCqgIMKnPyaY,4546
|
46
|
+
msfabricpysdkcore/tests/test_jobs.py,sha256=d3tZwAiy6gStT9sk3hQH0HI01N90SQfn6hZsRItoeLA,4075
|
47
|
+
msfabricpysdkcore/tests/test_kql_dashboards.py,sha256=cbCYfRCN7HuQT7_SbAI1DOFn0GZGWt3HoRI62fYsZOg,2367
|
48
|
+
msfabricpysdkcore/tests/test_kql_queryset.py,sha256=mBvukkqaCskIKdYr92BywuuQiAWqRVsJidniXB32k3g,2451
|
49
|
+
msfabricpysdkcore/tests/test_kqldatabases.py,sha256=b58pPoP1zu2QPh9C8L7xRfYU7TMicTOEOmA8x2SN6oc,2374
|
50
|
+
msfabricpysdkcore/tests/test_lakehouse.py,sha256=-B9pBenANWLtdITU4p7cRT7jfMLVlQObUfKCYST_cHc,3670
|
51
|
+
msfabricpysdkcore/tests/test_managed_private_endpoints.py,sha256=1Hj3WgnrQCMYaHS7CuAchtvzicqd_O9aAUlP1bolV-c,3031
|
52
|
+
msfabricpysdkcore/tests/test_mirrored_azuredatabricks_catalog.py,sha256=1UVRDUGpHdOQmnouOmLo5dtAP7_n8qkCpkUTg-vdo5E,4716
|
53
|
+
msfabricpysdkcore/tests/test_mirroreddatabases.py,sha256=b0KjReoJ9U3tTbtmhtV2Vk9zatBR10cmpOg4Omuj5EU,3686
|
54
|
+
msfabricpysdkcore/tests/test_ml_experiments.py,sha256=fbNDki8TCtkWB0y3jNoxy92iNkkvX5kRigvA1Ummus4,1808
|
55
|
+
msfabricpysdkcore/tests/test_ml_models.py,sha256=Hv3yHck56H2IMbwUT08_64_mh-xZvyiIV-vpFvL4Oe4,1636
|
56
|
+
msfabricpysdkcore/tests/test_mounted_adf.py,sha256=XArGgd88RQytr-ecdhmVJyT05xlO1yNFRL0Xbr-cmqs,3409
|
57
|
+
msfabricpysdkcore/tests/test_notebooks.py,sha256=vzdPA3LqGx4niXxIWhWI2QnFTSK8Sq4IikG0MJNd4HY,2331
|
58
|
+
msfabricpysdkcore/tests/test_one_lake_data_access_security.py,sha256=M_kq3PPEotX6yaurzNe9oiTLqXjGb6AH__4hTpSq6G8,2297
|
59
|
+
msfabricpysdkcore/tests/test_other_items.py,sha256=-KsNZc9wa3Uc5Mr4PLYSs8pJOqKZUN09_ZJ6ufXcCdk,1774
|
60
|
+
msfabricpysdkcore/tests/test_reflex.py,sha256=vLbQCdXMdtNZZ1oV1CVMJMa1v8Pa3NWNK7irfL5i9hw,2021
|
61
|
+
msfabricpysdkcore/tests/test_reports.py,sha256=Wu0VqArrUxuCs6l1zCcNyb8TGjrdzg-yGiRjXjThjTM,2093
|
62
|
+
msfabricpysdkcore/tests/test_semantic_model.py,sha256=aeuVUnasB5TeMEIt5oR5E-d4j0eu77r0B64J6pN9gy8,2477
|
63
|
+
msfabricpysdkcore/tests/test_shortcuts.py,sha256=4_tpSHLVh42KrJPCx4Qc0IHtUVygX3GcdjdK3WY0QFo,2620
|
64
|
+
msfabricpysdkcore/tests/test_spark.py,sha256=vN31xhSQQ0ZwJ3GJBEcRQ2L-VzaCAR00XTlXxQ2U5NA,3546
|
65
|
+
msfabricpysdkcore/tests/test_sparkjobdefinition.py,sha256=HbLqM3MrOPkaBaKKF_l1kCRnlQYjI_1gUGRH-6ehN4A,2838
|
66
|
+
msfabricpysdkcore/tests/test_sql_endpoint.py,sha256=_yQpBfXk8brs3M2FUmvDskSMFUjjTcG8_087_noRXxg,754
|
67
|
+
msfabricpysdkcore/tests/test_sqldatabases.py,sha256=aFH-JLHKASGiIqz14wGpHfBMp_5OMZ3x_Upd_O0A2f0,1642
|
68
|
+
msfabricpysdkcore/tests/test_tags.py,sha256=M28StU18QJorbIVylue-zKOUbxrufu0VFo1hzwFIfc8,963
|
69
|
+
msfabricpysdkcore/tests/test_variable_libary.py,sha256=UbcfS3N24WBjDMr3fJOdYx1hC78dlYzdqUwr1_D6I8A,2759
|
70
|
+
msfabricpysdkcore/tests/test_warehouses.py,sha256=zrgPI_fYajwDDRfEEyEUNH7TpP4rtlRK-_q4-fmUJTE,1813
|
71
|
+
msfabricpysdkcore/tests/test_workspaces_capacities.py,sha256=6vU3hpoC4cIrXwEAvh7k1ARA4gwKSIVgoIXxSEUNHls,6739
|
72
|
+
msfabricpysdkcore/util/__init__.py,sha256=p-1dC4AurfKdIUppNVlRCIcmwHBTURqfgIwxcie3fEA,50
|
73
|
+
msfabricpysdkcore/util/logger.py,sha256=XXdeaqI-BhXZgacChKrWP88TPU4FTWvS8L0YWjCT54A,1166
|
74
|
+
msfabricpysdkcore-0.2.9.dist-info/licenses/LICENSE,sha256=1NrGuF-zOmzbwzk3iI6lsP9koyDeKO1B0-8OD_tTvOQ,1156
|
75
|
+
msfabricpysdkcore-0.2.9.dist-info/METADATA,sha256=jrDTspwIpRiozjFIjhZbgIz0N6pmZwb7OgQzeOaydwQ,41443
|
76
|
+
msfabricpysdkcore-0.2.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
77
|
+
msfabricpysdkcore-0.2.9.dist-info/top_level.txt,sha256=3iRonu6ptDGQN4Yl6G76XGM7xbFNsskiEHW-P2gMQGY,18
|
78
|
+
msfabricpysdkcore-0.2.9.dist-info/RECORD,,
|
@@ -1,30 +0,0 @@
|
|
1
|
-
msfabricpysdkcore/__init__.py,sha256=ObRW5Q8IMqrvA6VH6zXSv3n01AzRCGjn5RojJXAR6VE,208
|
2
|
-
msfabricpysdkcore/admin_item.py,sha256=9L09Kb7kn7JW0bqVu1qPOMT6oHLduX4Q5_qhVJZTLxQ,3290
|
3
|
-
msfabricpysdkcore/admin_workspace.py,sha256=umNnIF8sf5Y8BDgfQdfG6sOZrQQc7RJINL9j8DPnm3c,3180
|
4
|
-
msfabricpysdkcore/adminapi.py,sha256=ldne1ML_t_o42WGwz9UNJM_qEaT9kjtmypexY3ECpZE,39930
|
5
|
-
msfabricpysdkcore/auth.py,sha256=Y9YUDqoArvkD7rLnbQvNBnCXqHJtw6PDRUHMx0CVMT0,4330
|
6
|
-
msfabricpysdkcore/capacity.py,sha256=Q_2-XrZtdf9F67fY0qU3D0ocEOGQq4KtIXAv9dXjQhI,1761
|
7
|
-
msfabricpysdkcore/client.py,sha256=KpHREbfzQRRighyJzyES3COZP3raK0C1-WhxGd07LHU,7890
|
8
|
-
msfabricpysdkcore/coreapi.py,sha256=NujzngKZcOEWUcd0ZRUouGbPeWnypmQCHNdtehKXhLk,302165
|
9
|
-
msfabricpysdkcore/deployment_pipeline.py,sha256=0yTLwSJZDSLF5LU882GuTs-_KZkMDP_k5l_GAV1nf-Y,10156
|
10
|
-
msfabricpysdkcore/domain.py,sha256=MAv7R64waQgI3OF1f5hmMdH98pJIb-BPTCZSvPZDzgU,7061
|
11
|
-
msfabricpysdkcore/environment.py,sha256=4k2Le1mAQIrfcpNc3n1DbgdCzAldGTSTCbiDQGk0DlA,2784
|
12
|
-
msfabricpysdkcore/eventstream.py,sha256=e9u16sVARI0yUktzY5oaj3R-QvJXGpP6lPH-TFzbVvU,4517
|
13
|
-
msfabricpysdkcore/fabric_azure_capacity.py,sha256=7JxMp9weiKG_mDjlRK-88oIXr0kdG0pzv-Ouycf3fus,2808
|
14
|
-
msfabricpysdkcore/fabric_azure_client.py,sha256=I7Z0Y8Xy_esQcPaXgPL7EAkQmoQkAklJO4hxk_90dno,10722
|
15
|
-
msfabricpysdkcore/folder.py,sha256=-nop7KsVr9Nha_tY1nlOwkpjzVd6QfaR2nZG7mgLcvU,2782
|
16
|
-
msfabricpysdkcore/item.py,sha256=75RphdDpMNMbF0Ajz35wkrpzmuLdoKeZiu671A-mw1E,9405
|
17
|
-
msfabricpysdkcore/job_instance.py,sha256=rtZp-OpuzfdMiQyuQLum38lgcfSZJTr3s9sECZglcWg,2389
|
18
|
-
msfabricpysdkcore/lakehouse.py,sha256=iYjj4EUJ9ylVw6f0BAguuFeHRxwSAIasFqbTlRIse7A,2081
|
19
|
-
msfabricpysdkcore/long_running_operation.py,sha256=XTlsueSZKVFICxhx99geEQ6btZFlFb8-lssigmQ9c6Y,2133
|
20
|
-
msfabricpysdkcore/onelakeshortcut.py,sha256=H02wR6Z86qTEJOwVRMKz1Ou3K88Y9pfJa91vizjprvo,1661
|
21
|
-
msfabricpysdkcore/otheritems.py,sha256=CXKobc2lqup3KOlqRp5yxYBM7Wvb0BLDe9F5iwEv1fc,26255
|
22
|
-
msfabricpysdkcore/spark_custom_pool.py,sha256=YsEULaQG-FO507aPIb-4kk93ZWBmDZj6fbOEHYoyxHE,3188
|
23
|
-
msfabricpysdkcore/workspace.py,sha256=YBkCK8MTIDdd_P2BGEh1JxkHb6jAolKEyOzH8STGAog,91984
|
24
|
-
msfabricpysdkcore/util/__init__.py,sha256=p-1dC4AurfKdIUppNVlRCIcmwHBTURqfgIwxcie3fEA,50
|
25
|
-
msfabricpysdkcore/util/logger.py,sha256=XXdeaqI-BhXZgacChKrWP88TPU4FTWvS8L0YWjCT54A,1166
|
26
|
-
msfabricpysdkcore-0.2.7.dist-info/licenses/LICENSE,sha256=1NrGuF-zOmzbwzk3iI6lsP9koyDeKO1B0-8OD_tTvOQ,1156
|
27
|
-
msfabricpysdkcore-0.2.7.dist-info/METADATA,sha256=dgK0MqK49iMDJMCU0MchNsouzY6ARAuN1SpFKvOoqy0,39852
|
28
|
-
msfabricpysdkcore-0.2.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
29
|
-
msfabricpysdkcore-0.2.7.dist-info/top_level.txt,sha256=3iRonu6ptDGQN4Yl6G76XGM7xbFNsskiEHW-P2gMQGY,18
|
30
|
-
msfabricpysdkcore-0.2.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|