Funções de Compartilhamento de Dados

A API (Application Programming Interface) do Python Data Studio para funções de compartilhamento de dados fornece a sintaxe e as descrições das classes, métodos, atributos e parâmetros da interface de programação de aplicativos para a ferramenta de compartilhamento de dados do conjunto de ferramentas do Data Studio.

Funções de API do Data Studio Data Share

A classe Adp.Share é usada para trabalhar com compartilhamentos de dados. Esta classe contém um conjunto de funções de compartilhamento de dados que permite gerenciar compartilhamentos de dados, destinatários etc.

Pré-requisitos

Primeiro, crie uma instância ADP.

As funções têm valores de retorno de string e parâmetros de string.

Criar Procedimento de Compartilhamento

Essa função cria o Compartilhamento de Dados com base na data de armazenamento de objetos e os associa aos destinatários.

Sintaxe

Share.create_share(name, objects, storage_link_name, publish_job_details, owner, type,
      storage_link_owner, description)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • objetos: O dicionário de objetos do Data Share consiste nos seguintes campos:
    • [{"schemaName" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName" : "shareObjectNameValue"}, ...]}, ...]

    Esse campo é obrigatório.

  • storage_link_name: Este campo exibe o nome do link de armazenamento na nuvem do Data Share.
  • publish_job_details: Este campo exibe o dicionário de detalhes do job de publicação do Data Share. Se o campo não tiver {"enabled": False} será utilizado.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.
  • type: O tipo do Compartilhamento de Dados. Se esse campo estiver ausente, a ferramenta usará o campo VERSIONED.
  • storage_link_owner: O proprietário do link Armazenamento em Nuvem do Compartilhamento de Dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.
  • descrição: Este campo exibe a descrição do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará uma string vazia.

Exemplo
Neste exemplo, você pode criar um Compartilhamento de Dados:
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"}

Atualizar Procedimento de Objetos de Compartilhamento de Dados

Esta função atualiza os objetos de Compartilhamento de Dados.

Sintaxe

Share.update_share_objects(name, objects, publish_job_details, owner,
    description) 
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • objetos: O dicionário de objetos do Data Share consiste nos seguintes campos:
    • [{"schemaName" : "schemaNameValue", "objects": [{"objectName": "objectNameValue", "objectOwner": "objectOwnerValue", "shareObjectName" : "shareObjectNameValue"}, ...]}, ...]

    Esse campo é obrigatório.

  • publish_job_details: Este campo exibe o dicionário de detalhes do job de publicação do Data Share. Se o campo não tiver {"enabled": False} será utilizado.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.
  • descrição: Este campo exibe a descrição do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará uma string vazia.

Exemplo
Neste exemplo, você pode atualizar um objeto de Compartilhamento de Dados:
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"}'

Excluir Procedimento de Compartilhamento de Dados

Esta função exclui o Compartilhamento de Dados.

Sintaxe

Share.delete_share(name, owner)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, você pode excluir um objeto de Compartilhamento de Dados:
adp.Share.delete_share('share_py_api_7_1')

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

Renomear Procedimento de Compartilhamento de Dados

Esta função renomeia o Compartilhamento de Dados.

Sintaxe

Share.rename_share(name, new_name, owner)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • new_name: O novo nome que você deseja para o Compartilhamento de Dados. Esse campo é obrigatório.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, você pode renomear um Compartilhamento de Dados:
adp.Share.rename_share (name = 'share_py_api_7', new_name = 'share_py_api_7_1')

'{ "status": true }'

Publicar Procedimento de Compartilhamento de Dados

Esta função publica o Compartilhamento de Dados.

Sintaxe

Share.publish_share(name, owner)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, você pode publicar um Compartilhamento de Dados:
adp.Share.publish_share(name='share_py_api_7_1')
//Output:
'{"publishShare":true}'

Cancelar Publicação do Compartilhamento de Dados

Esta função publica o Compartilhamento de Dados.

Sintaxe

Share.unpublish_share(name, owner)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, é possível cancelar a publicação de um Compartilhamento de Dados:
adp.Share.unpublish_share(name ='share_py_api_7_1')

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

Obter Procedimento de Compartilhamento

Esta função recebe detalhes do Compartilhamento de Dados.

Sintaxe

Share.get_share(name, owner)
A seguir estão seus parâmetros e descrições:
  • name: O nome do Compartilhamento de Dados. Esse campo é obrigatório.
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, você pode receber detalhes do Compartilhamento de Dados:
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}}

Procedimento Obter Compartilhamentos

Esta função recebe a lista Compartilhamento de Dados com base no proprietário do Compartilhamento de Dados.

Sintaxe

Share.get_shares(owner)
A seguir estão seus parâmetros e descrições:
  • proprietário: Este campo exibe o proprietário do compartilhamento de dados. Se este campo estiver ausente, a ferramenta usará o proprietário do esquema atual.

Exemplo
Neste exemplo, você pode receber a lista Compartilhamento de Dados:
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}]
Você também pode visualizar os tópicos que abrangem os procedimentos listados abaixo: