Funções do Catálogo

O Catálogo ou Catálogo do Oracle Data Studio é uma ferramenta de vários catálogos que fornece uma maneira de procurar dados e outros objetos no seu Autonomous Database conectado no momento e também em uma ampla variedade de outros sistemas conectados.

A funcionalidade API do Catalog permite navegar, pesquisar e descobrir ativos de dados conectados de qualquer lugar na nuvem e além.

Ele também permite montar novos catálogos em outros sistemas e procurar dados e outros itens no Autonomous Database conectado.

A funcionalidade API do Catalog permite montar novos catálogos sobre:
  • Outros Autonomous Databases na sua tenancy.
  • Qualquer outro banco de dados que possa ser conectado usando um Link de BD, por exemplo, um banco de dados local com o qual seu Autonomous Database possa se conectar.
  • Dados compartilhados, por exemplo, dados compartilhados de DataBricks usando o Delta Sharing.
  • Catálogos de dados externos existentes, como o AWS Glue ou o OCI Data Catalog.

Esta seção abaixo fornece exemplos de funções para ajudar você a começar a usar a API do Oracle Data Studio Catalog.

Antes de usar esses exemplos, você deve criar a instância ADP e, em seguida, estabelecer conexão.
import adp as ords
adp = ords.login('<protocol://host:port>', 'schema_name', 'schema_password')
Catalog = adp.Catalog

Obter Procedimento de Catálogos

Esta função recebe uma lista de catálogos.

Sintaxe

Catalog.get_catalogs(search)
Parâmetros:
  • pesquisa (String): É o texto de pesquisa do catálogo fornecido pelo usuário. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão None para ele.

Tipo de Retorno

É uma string JSON

Retornar Estrutura
'[

{"label": catalog name (String),

"type": catalog type (String),

"id": catalog id (String),

"details" : catalog details (JSON Nested Object),

"enabled": catalog enabled status (true | false),

"created": catalog create date (String)

"updated": catalog update date (String)},

 ...

]'
Exemplo
import json
import pandas as pd
# catalog api function call
r = Catalog.get_catalogs()
# pandas data frame representation
j = json.loads(r)
pd.json_normalize(j)


Veja a seguir a descrição da ilustração get_catalogs.png
Descrição da ilustração get_catalogs.png

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message
    (String)}'

Obter Procedimento de Entidades do Catálogo

Esta função recebe uma lista de entidades de catálogo.

Sintaxe

Catalog.get_catalog_entities(catalog_name, type, search)
Parâmetros:
  • catalog_name (String): É um nome de catálogo fornecido pelo usuário.
  • type (String): É um tipo de entidade de catálogo fornecido pelo usuário. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão TABLE para ele.
  • tipos de entidade de catálogo : 'TABLE', 'VIEW', 'SCHEMA', etc.
  • pesquisa (String): É o texto de pesquisa do catálogo fornecido pelo usuário.
Exemplos de
import json
import pandas as pd

# catalog api function call
r = Catalog.get_catalog_entities('CATALOG_DELTA_SHARING_1')

# pandas data frame representation
j = json.loads(r)
pd.json_normalize(j)



Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[

{"label": catalog entity name (String),

"type": catalog entity type (String),

"schema": catalog schema (String),

"id": catalog entity id (String).

"details" : catalog entity details (JSON Nested Object),

"created": catalog entity create date (String)

"updated": catalog entity update date (String)},

...

]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Obter Procedimento de Links de Banco de Dados

Esta função recebe uma lista de entidades de catálogo.

Sintaxe

Catalog.get_database_links(catalog_name, owner, search)
Parâmetros:
  • catalog_name (String): É um nome de catálogo fornecido pelo usuário.
  • owner (String): É o nome do proprietário do catálogo fornecido pelo usuário.
  • pesquisa (String): É o texto de pesquisa do catálogo fornecido pelo usuário. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão NONE para ele.

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[

{"label":  data base link name (String),

"type": database link type (String),

"catalog": data base link catalog (String),

"application": data base link application (String).

"credentialName": data base link credential name (String),

"credentialOwner": data base link credential owner (String),

"hidden": data base link is hidden (String),

"valid": data base link is valid (String),

"created": database link created create date (String)

"updated": database link created update date (String),

]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Obter Procedimento do Autonomous Database

Esta função recebe bancos de dados autônomos do Oracle Data Studio Catalog.

Sintaxe

Catalog.get_autonomous_database(search)
Parâmetros:
  • pesquisa (String): É o texto de pesquisa do catálogo fornecido pelo usuário. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão NONE para ele.

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[

{"label": autonomous database name (String),

"type": autonomous database type (String),

"catalog": autonomous database catalog (String),

"application": autonomous database application (String).

"schema": autonomous database schema (String),

"workloadType": autonomous database workload type (String),

"lifecycleState": autonomous database life cycle state (String),

"ocid": autonomous database ocid (String),

"created":  autonomous database create date (String)

"updated":  autonomous database update date (String),
]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Ativar Procedimento do Catálogo

Esta função ativa o Oracle Data Studio Catalog.

Sintaxe

Catalog.enable_catalog(catalog_name)
Parâmetros:
  • catalog_name (String): É um nome de catálogo fornecido pelo usuário.
Exemplo
# catalog api function call
Catalog.enable_catalog('CATALOG_DELTA_SHARING_1')
Saída
'{ "updated": true }'

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'{ "updated": operation status (True | False)}'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Desativar procedimento do catálogo

Esta função desativa o Oracle Data Studio Catalog.

Sintaxe

Catalog.enable_catalog(catalog_name)
Parâmetros:
  • catalog_name (String): É um nome de catálogo fornecido pelo usuário.
Exemplos de
# catalog api function call
Catalog.disable_catalog('CATALOG_DELTA_SHARING_1')

Saída

'{ "updated": true }'

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'{ "updated": operation status (True | False)}'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Procedimento de Desmontagem do Catálogo

Esta função desativa o Oracle Data Studio Catalog.

Sintaxe

Catalog.unmount_catalog(catalog_name)
Parâmetros:
  • catalog_name (String): É um nome de catálogo fornecido pelo usuário.
Exemplo
# catalog api function call
Catalog.unmount_catalog('CATALOG_DELTA_SHARING_1')
Saída
'{ "unmounted": true }'

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'{ "unmounted": operation status (true | false)}'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Procedimento Visualizar Tabela Catálogo

Esta função visualiza a tabela do Oracle Data Studio Catalog.

Sintaxe

Catalog.preview_catalog_table(catalog_name, table_name, schema_name,
    row_limit)
Parâmetros:
  • catalog_name (String): Especifica o nome do catálogo.
  • table_name (String): Especifica o nome da tabela de catálogo.
  • schema_name (String): Especifica o nome do esquema do catálogo.
  • row_limit (Number): Especifica o limite de linhas de visualização da tabela do catálogo. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão 100 para ele.
Exemplo
import pandas as pd

# catalog api function call
q = Catalog.preview_catalog_table(
                           catalog_name = 'CATALOG_DELTA_SHARING_1', 
                           table_name   = 'COVID_19_NYT',                                       
                           schema_name  = 'DEFAULT')

# pandas data frame representation
pd.DataFrame.from_records(q)

Saída



Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[{"columnName": "row_value",.. }, {}, ...]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Montar Procedimento do OCI Data Catalog

Esta função monta o OCI Data Catalog.

Sintaxe

Catalog.mount_oci_data_catalog(catalog_name, oci_catalog_credential, oci_catalog_region, oci_catalog_name, oci_storage_credential)
Parâmetros:
  • catalog_name (String): Especifica o nome do catálogo.
  • oci_catalog_credential (String): Especifica a credencial do catálogo do OCI.
  • oci_catalog_region (String): Especifica a região do catálogo do OCI.
  • oci_catalog_name (String): Especifica o nome do catálogo do OCI.
  • oci_storage_credential (String): Especifica a credencial de armazenamento do OCI. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão None para ele.

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Procedimento de Montagem do Catálogo de Compartilhamento do Autonomous Database

Esta função monta o Catálogo de compartilhamento de banco de dados autônomo.

Sintaxe

Catalog.mount_autonomous_database_catalog(catalog_name, database_name, create_database_link,
      database_link_name, credential_name)
Parâmetros:
  • catalog_name (String): Especifica o nome do catálogo.
  • database_name (String): Especifica o nome do banco de dados autônomo.
  • create_database_link (Booliano): Cria o modo de nome do link de banco de dados. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão False para ele.
  • database_link_name (String): É um nome de link de banco de dados. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão False para ele.
  • credential_name (String): É um nome de credencial swift. Este parâmetro não precisa ser fornecido pelo usuário ao fazer uma solicitação e, se for omitido, o sistema usará automaticamente o valor padrão False para ele.

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'

Procedimento do Catálogo de Compartilhamentos de Montagem

Esta função monta o Catálogo de Compartilhamentos do Oracle Data Studio.

Sintaxe

Catalog.mount_shares_catalog(catalog_name, share_name,
    share_provider)
Parâmetros:
  • catalog_name (String): Especifica o nome do catálogo.
  • share_name (String): É um nome de compartilhamento.
  • share_provider (String): É o nome do provedor de compartilhamento.
Exemplo
Mount Shares Catalog# catalog api function call
Catalog.mount_shares_catalog (
        catalog_name   = 'CATALOG_DELTA_SHARING_1',
        share_name     = 'DELTA_SHARING',
        share_provider = 'PROVIDER_DELTA_SHARING_1')
Saída
'[{"catalogName":"CATALOG_DELTA_SHARING_1","shareName":"DELTA_SHARING"}]'

Tipo de Retorno

É uma String JSON.

Retornar Estrutura
'[{"catalogName": catalog name (String),
"shareName": share name (String)}]'

Tipo de Erro

String JSON

Estrutura de Erros

'{"code": error code (Number), "error": error message (String)}'