資料共用函數
Data Share 函數的 Python Data Studio Application Programming Interface (API) 提供 Data Studio 工具套件之 Data Share 工具的類別、方法、屬性及參數的語法和描述。
Data Studio 資料共用 API 函數
Adp.Share 類別是用於使用資料共用。這個類別包含一組可以管理資料分享、 收件者等的功能 。
先決條件
您必須先建立 ADP 執行處理。
函數具有字串傳回值與字串參數。
建立共用程序
此函數會根據物件儲存日期建立資料共用,並將它們與收件者建立關聯。
語法
Share.create_share(name, objects, storage_link_name, publish_job_details, owner, type,
storage_link_owner, description)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 物件:「資料共用」物件說明包含下列欄位:
- "schemaNameValue" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName": "shareObjectNameValue"}, ...]}, ...]
您必須在此欄位中輸入值。
- storage_link_name :此欄位顯示 Data Share 雲端儲存連結名稱。
- publish_job_details :此欄位顯示「資料共用」發布工作詳細資訊說明。如果此欄位遺漏 {
"enabled": False},則會使用該欄位。 - 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
- type :「資料共用」的類型。如果遺漏此欄位,工具會使用
VERSIONED欄位。 - storage_link_owner :Data Share Cloud Storage 連結擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
- 說明:此欄位顯示資料共用說明。如果缺少此欄位,則工具會使用空白字串。
在此範例中,您可以建立「資料共用」:
name = 'share_py_api_7'
desc = 'desc_share_py_api_7'
link = '"food_cred"'
share_objects = json.dumps([{"schemaName" : "ADMIN",
"objects" : [{"objectName" : "IRIS",
"objectOwner" : "ADMIN",
"shareObjectName" : "IRIS_SHARE"},
{"objectName" : "DEMO_FOOD_SAMPLE",
"objectOwner" : "ADMIN",
"shareObjectName" : "DEMO_FOOD_SAMPLE_SHARE"}
]}])
job = json.dumps({"enabled" : False})
adp.Share.create_share(
name = name,
description = desc,
storage_link_name = link,
objects = share_objects,
publish_job_details = job)//Output:
{"createdShare":true,"notifyRecipients":false,"shareId":40295,"sharetablename_":"DEMO_FOOD_SAMPLE_SHARE"}更新資料共用物件程序
此功能會更新資料共用物件。
語法
Share.update_share_objects(name, objects, publish_job_details, owner,
description) 以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 物件:「資料共用」物件說明包含下列欄位:
- "schemaNameValue" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName": "shareObjectNameValue"}, ...]}, ...]
您必須在此欄位中輸入值。
- publish_job_details :此欄位顯示「資料共用」發布工作詳細資訊說明。如果此欄位遺漏 {
"enabled": False},則會使用該欄位。 - 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
- 說明:此欄位顯示資料共用說明。如果缺少此欄位,則工具會使用空白字串。
在此範例中,您可以更新「資料共用」物件:
name = 'share_py_api_7'
objects = json.dumps([{"schemaName" : "ADMIN",
"objects" : [{"objectName" : "WINE",
"objectOwner" : "ADMIN",
"shareObjectName" : "WINE_SHARE"}
]}])
adp.Share.update_share_objects(name = name, objects = objects)//Output:
'{"sharetablename_":"WINE_SHARE"}'刪除資料共用程序
此函數會刪除資料共用。
語法
Share.delete_share(name, owner)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以刪除「資料共用」物件:
adp.Share.delete_share('share_py_api_7_1')//Output:
'{"deletedShare":true}'重新命名資料共用程序
此函數會重新命名「資料共用」。
語法
Share.rename_share(name, new_name, owner)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- new_name :「資料共用」的新名稱。您必須在此欄位中輸入值。
- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以重新命名「資料共用」:
adp.Share.rename_share (name = 'share_py_api_7', new_name = 'share_py_api_7_1')'{ "status": true }'公布資料共用程序
此功能會發布「資料共用」。
語法
Share.publish_share(name, owner)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以發佈「資料共用」:
adp.Share.publish_share(name='share_py_api_7_1')//Output:
'{"publishShare":true}'取消發布資料共用
此功能會發布「資料共用」。
語法
Share.unpublish_share(name, owner)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以取消發佈「資料共用」:
adp.Share.unpublish_share(name ='share_py_api_7_1')//Output:
'{"unpublishShare":true}'取得共用程序
此功能會接收資料共用明細。
語法
Share.get_share(name, owner)以下是參數和描述:
範例- name :「資料共用」的名稱。您必須在此欄位中輸入值。
- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以接收「資料共用」詳細資訊:
s = adp.Share.get_share(name = 'share_py_api_7_1')
json.loads(s)//Output:
{'id': 40415,
'name': 'SHARE_PY_API_7_1',
'owner': 'ADMIN',
'description': 'desc_share_py_api_7',
'publicDescription': 'desc_share_py_api_7',
'type': 'VERSIONED',
'version': None,
'tablesCount': 3,
'recipientsCount': 0,
'lastExportTime': None,
'objects': [{'id': 40416,
'schemaName': 'ADMIN',
'objects': [{'id': 40435,
'shareObjectName': 'WINE_SHARE',
'objectName': 'WINE',
'objectOwner': 'ADMIN',
'objectType': 'TABLE'},
{'id': 40417,
'shareObjectName': 'IRIS_SHARE',
'objectName': 'IRIS',
'objectOwner': 'ADMIN',
'objectType': 'TABLE'},
{'id': 40418,
'shareObjectName': 'DEMO_FOOD_SAMPLE_SHARE',
'objectName': 'DEMO_FOOD_SAMPLE',
'objectOwner': 'ADMIN',
'objectType': 'TABLE'}]}],
'recipients': None,
'storageLinkName': 'food_cred',
'schedule': {'enabled': 'FALSE',
'startDate': None,
'endDate': None,
'repeatInterval': None}}取得股份程序
此函數會根據「資料共用」的擁有者接收「資料共用」清單。
語法
Share.get_shares(owner)以下是參數和描述:
範例- 所有者:此欄位顯示資料共用擁有者。如果沒有這個欄位,工具會使用目前的綱要擁有者。
在此範例中,您可以接收「資料共用」清單:
s = adp.Share.get_shares()
json.loads(s)//Output:
[{'id': 40415,
'name': 'SHARE_PY_API_7_1',
'owner': 'ADMIN',
'description': 'desc_share_py_api_7',
'type': 'VERSIONED',
'tablesCount': 3,
'version': None}]