数据共享功能

Python Data Studio Application Programming Interface (API) for Data Share 函数为 Data Studio 工具套件的数据共享工具提供了应用程序编程接口的类、方法、属性和参数的语法和说明。

Data Studio 数据共享 API 函数

Adp.Share 类用于处理数据共享。此类包含一组数据共享功能,这些功能允许管理数据共享、收件人等。

先决条件

必须先创建 ADP 实例。

函数具有字符串返回值和字符串参数。

创建共享过程

此功能根据对象存储日期创建数据共享,并将它们与收件人关联。

语法

Share.create_share(name, objects, storage_link_name, publish_job_details, owner, type,
      storage_link_owner, description)
以下是它的参数和说明:
  • name :数据共享的名称。此字段为必填字段。
  • 对象:数据共享对象字典包含以下字段:
    • [{"schemaName" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName": "shareObjectNameValue"}, ...]}, ...]

    此字段为必填字段。

  • storage_link_name :此字段显示“数据共享”云存储链接名称。
  • publish_job_details :此字段显示数据共享发布作业详细信息字典。如果缺少此字段,则使用 {"enabled": False}。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。
  • type :数据共享的类型。如果缺少此字段,该工具将使用 VERSIONED 字段。
  • storage_link_owner :数据共享云存储链接所有者。如果缺少此字段,该工具将使用当前模式所有者。
  • description(说明):此字段显示数据共享说明。如果缺少此字段,该工具将使用空字符串。

示例
在此示例中,您可以创建数据共享:
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 :数据共享的名称。此字段为必填字段。
  • 对象:数据共享对象字典包含以下字段:
    • [{"schemaName" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName": "shareObjectNameValue"}, ...]}, ...]

    此字段为必填字段。

  • publish_job_details :此字段显示数据共享发布作业详细信息字典。如果缺少此字段,则使用 {"enabled": False}。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。
  • description(说明):此字段显示数据共享说明。如果缺少此字段,该工具将使用空字符串。

示例
在此示例中,可以更新数据共享对象:
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 :数据共享的名称。此字段为必填字段。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,可以删除数据共享对象:
adp.Share.delete_share('share_py_api_7_1')

//Output:
'{"deletedShare":true}'

重命名数据共享过程

此函数重命名数据共享。

语法

Share.rename_share(name, new_name, owner)
以下是它的参数和说明:
  • name :数据共享的名称。此字段为必填字段。
  • new_name :数据共享所需的新名称。此字段为必填字段。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,可以重命名数据共享:
adp.Share.rename_share (name = 'share_py_api_7', new_name = 'share_py_api_7_1')

'{ "status": true }'

发布数据共享过程

此功能发布数据共享。

语法

Share.publish_share(name, owner)
以下是它的参数和说明:
  • name :数据共享的名称。此字段为必填字段。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,您可以发布数据共享:
adp.Share.publish_share(name='share_py_api_7_1')
//Output:
'{"publishShare":true}'

取消发布数据共享

此功能发布数据共享。

语法

Share.unpublish_share(name, owner)
以下是它的参数和说明:
  • name :数据共享的名称。此字段为必填字段。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,可以取消发布数据共享:
adp.Share.unpublish_share(name ='share_py_api_7_1')

//Output:
'{"unpublishShare":true}'

获取共享过程

此函数接收数据共享详细信息。

语法

Share.get_share(name, owner)
以下是它的参数和说明:
  • name :数据共享的名称。此字段为必填字段。
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,您可以接收数据共享详细信息:
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)
以下是它的参数和说明:
  • owner(所有者):此字段显示数据共享所有者。如果缺少此字段,该工具将使用当前模式所有者。

示例
在此示例中,您可以收到“Data Share(数据共享)”列表:
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}]
您还可以查看涵盖以下过程的主题: