11.1.5 データ共有関数
データ共有関数用のPython Data Studio Application Programming Interface (API)は、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: データ共有の名前。このフィールドは必須です。
- objects: データ共有オブジェクト・ディクショナリは、次のフィールドで構成されます:
- [{"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: データ共有の名前。このフィールドは必須です。
- objects: データ共有オブジェクト・ディクショナリは、次のフィールドで構成されます:
- [{"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: データ共有の名前。このフィールドは必須です。
- 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: このフィールドには、データ共有所有者が表示されます。このフィールドがない場合、現在のスキーマ所有者が使用されます。
この例では、データ共有リストを受け取ることができます:
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}]
次に示す手順に関するトピックも確認できます: