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}]
次に示す手順に関するトピックも確認できます: