데이터 공유 함수

데이터 공유 함수용 Python Data Studio API(Application Programming Interface)는 애플리케이션 프로그래밍 인터페이스의 클래스, 메소드, 속성 및 매개변수에 대한 구문과 설명을 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}이(가) 누락된 경우 사용됩니다.
  • 소유자: 이 필드에는 데이터 공유 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
  • type: 데이터 공유의 유형입니다. 이 필드가 누락된 경우 도구는 VERSIONED 필드를 사용합니다.
  • storage_link_owner: 데이터 공유 클라우드 스토리지 링크 소유자입니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
  • 설명: 이 필드에는 데이터 공유 설명이 표시됩니다. 이 필드가 누락된 경우 도구는 빈 문자열을 사용합니다.

이 예에서는 데이터 공유를 생성할 수 있습니다.
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}이(가) 누락된 경우 사용됩니다.
  • 소유자: 이 필드에는 데이터 공유 소유자가 표시됩니다. 이 필드가 누락된 경우 도구는 현재 스키마 소유자를 사용합니다.
  • 설명: 이 필드에는 데이터 공유 설명이 표시됩니다. 이 필드가 누락된 경우 도구는 빈 문자열을 사용합니다.

이 예에서는 데이터 공유 객체를 업데이트할 수 있습니다.
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}]
아래 나열된 절차를 다루는 항목을 볼 수도 있습니다.