資料共用函數

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}]
您也可以檢視涵蓋下列程序的主題: