Funzioni catalogo

Oracle Data Studio Catalog o Catalog è uno strumento a catalogo multiplo che consente di cercare dati e altri oggetti nell'Autonomous Database attualmente connesso e in una vasta gamma di altri sistemi connessi.

La funzionalità API del catalogo consente di sfogliare, cercare e trovare gli asset di dati connessi da qualsiasi luogo nel cloud e oltre.

Consente inoltre di eseguire il MOUNT di nuovi cataloghi su altri sistemi e di cercare dati e altri elementi nell'Autonomous Database connesso.

La funzionalità API catalogo consente di eseguire il MOUNT dei nuovi cataloghi su:
  • Altri database autonomi nella tenancy.
  • Qualsiasi altro database che può essere connesso utilizzando un DB Link, ad esempio un database in locale a cui Autonomous Database può connettersi.
  • Dati condivisi, ad esempio dati condivisi da DataBricks utilizzando Delta Sharing.
  • Data Catalog esterni esistenti come AWS Glue o OCI Data Catalog.

Questa sezione riportata di seguito fornisce esempi di funzioni che consentono di iniziare a utilizzare l'API del catalogo Oracle Data Studio.

Prima di utilizzare questi esempi, è necessario creare l'istanza ADP e quindi connettersi.
import adp as ords
adp = ords.login('<protocol://host:port>', 'schema_name', 'schema_password')
Catalog = adp.Catalog

Procedura di recupero dei cataloghi

Questa funzione riceve l'elenco dei cataloghi.

Sintassi

Catalog.get_catalogs(search)
Parametri:
  • ricerca (stringa): è il testo di ricerca del catalogo fornito dall'utente. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito None.

Tipo restituito

È una stringa JSON

Struttura restituzione
'[

{"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)},

 ...

]'
Esempio
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)


Segue la descrizione di get_catalogs.png
Descrizione dell'immagine get_catalogs.png

Tipo di errore

Stringa JSON

Struttura errore

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

Procedura di recupero delle entità catalogo

Questa funzione riceve un elenco di entità catalogo.

Sintassi

Catalog.get_catalog_entities(catalog_name, type, search)
Parametri:
  • nome_catalog (stringa): è un nome di catalogo fornito dall'utente.
  • tipo (stringa): è un tipo di entità catalogo fornito dall'utente. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito TABLE.
  • tipi di entità catalogo: 'TABLE', 'VIEW', 'SCHEMA' e così via.
  • ricerca (stringa): è il testo di ricerca del catalogo fornito dall'utente.
Esempi
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 restituito

È una stringa JSON.

Struttura restituzione
'[

{"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 di errore

Stringa JSON

Struttura errore

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

Procedura Recupera collegamenti database

Questa funzione riceve un elenco di entità catalogo.

Sintassi

Catalog.get_database_links(catalog_name, owner, search)
Parametri:
  • nome_catalog (stringa): è un nome di catalogo fornito dall'utente.
  • Proprietario (stringa): è il nome del proprietario del catalogo fornito dall'utente.
  • ricerca (stringa): è il testo di ricerca del catalogo fornito dall'utente. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito NONE.

Tipo restituito

È una stringa JSON.

Struttura restituzione
'[

{"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 di errore

Stringa JSON

Struttura errore

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

Procedura Get Autonomous Database

Questa funzione riceve i database autonomi di Oracle Data Studio Catalog.

Sintassi

Catalog.get_autonomous_database(search)
Parametri:
  • ricerca (stringa): è il testo di ricerca del catalogo fornito dall'utente. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito NONE.

Tipo restituito

È una stringa JSON.

Struttura restituzione
'[

{"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 di errore

Stringa JSON

Struttura errore

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

Abilita procedura catalogo

Questa funzione abilita il catalogo di Oracle Data Studio.

Sintassi

Catalog.enable_catalog(catalog_name)
Parametri:
  • nome_catalog (stringa): è un nome di catalogo fornito dall'utente.
Esempio
# catalog api function call
Catalog.enable_catalog('CATALOG_DELTA_SHARING_1')
Output
'{ "updated": true }'

Tipo restituito

È una stringa JSON.

Struttura restituzione
'{ "updated": operation status (True | False)}'

Tipo di errore

Stringa JSON

Struttura errore

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

Disabilita procedura catalogo

Questa funzione disabilita Oracle Data Studio Catalog.

Sintassi

Catalog.enable_catalog(catalog_name)
Parametri:
  • nome_catalog (stringa): è un nome di catalogo fornito dall'utente.
Esempi
# catalog api function call
Catalog.disable_catalog('CATALOG_DELTA_SHARING_1')

Output

'{ "updated": true }'

Tipo restituito

È una stringa JSON.

Struttura restituzione
'{ "updated": operation status (True | False)}'

Tipo di errore

Stringa JSON

Struttura errore

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

Disinstalla procedura catalogo

Questa funzione disabilita Oracle Data Studio Catalog.

Sintassi

Catalog.unmount_catalog(catalog_name)
Parametri:
  • nome_catalog (stringa): è un nome di catalogo fornito dall'utente.
Esempio
# catalog api function call
Catalog.unmount_catalog('CATALOG_DELTA_SHARING_1')
Output
'{ "unmounted": true }'

Tipo restituito

È una stringa JSON.

Struttura restituzione
'{ "unmounted": operation status (true | false)}'

Tipo di errore

Stringa JSON

Struttura errore

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

Procedura di anteprima tabella catalogo

Questa funzione visualizza l'anteprima della tabella del catalogo di Oracle Data Studio.

Sintassi

Catalog.preview_catalog_table(catalog_name, table_name, schema_name,
    row_limit)
Parametri:
  • nome_catalog (stringa): specifica il nome del catalogo.
  • table_name (String): specifica il nome della tabella del catalogo.
  • schema_name (stringa): specifica il nome dello schema del catalogo.
  • row_limit (Numero): specifica il limite di righe di anteprima della tabella catalogo. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito 100.
Esempio
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)

Output



Tipo restituito

È una stringa JSON.

Struttura restituzione
'[{"columnName": "row_value",.. }, {}, ...]'

Tipo di errore

Stringa JSON

Struttura errore

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

Esegui MOUNT della procedura OCI Data Catalog

Questa funzione attiva OCI Data Catalog.

Sintassi

Catalog.mount_oci_data_catalog(catalog_name, oci_catalog_credential, oci_catalog_region, oci_catalog_name, oci_storage_credential)
Parametri:
  • nome_catalog (stringa): specifica il nome del catalogo.
  • oci_catalog_credential (String): specifica la credenziale del catalogo OCI.
  • oci_catalog_region (String): specifica l'area del catalogo OCI.
  • oci_catalog_name (stringa): specifica il nome del catalogo OCI.
  • oci_storage_credential (String): specifica la credenziale di storage OCI. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito None.

Tipo restituito

È una stringa JSON.

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

Tipo di errore

Stringa JSON

Struttura errore

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

Procedura MOUNT Autonomous Database Share Catalog

Questa funzione monta il catalogo di condivisione del database autonomo.

Sintassi

Catalog.mount_autonomous_database_catalog(catalog_name, database_name, create_database_link,
      database_link_name, credential_name)
Parametri:
  • nome_catalog (stringa): specifica il nome del catalogo.
  • nome_database (stringa): specifica il nome del database autonomo.
  • create_database_link (booleano): crea la modalità nome del database link. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito False.
  • nome_link_database (stringa): è un nome di database link. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito False.
  • nome_credenziale (stringa): si tratta di un nome di credenziale swift. Questo parametro non deve essere fornito dall'utente quando effettua una richiesta e, se viene omesso, il sistema utilizzerà automaticamente il valore predefinito False.

Tipo restituito

È una stringa JSON.

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

Tipo di errore

Stringa JSON

Struttura errore

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

Procedura catalogo condivisione di accesso

Questa funzione attiva il catalogo delle condivisioni di Oracle Data Studio.

Sintassi

Catalog.mount_shares_catalog(catalog_name, share_name,
    share_provider)
Parametri:
  • nome_catalog (stringa): specifica il nome del catalogo.
  • share_name (String): è un nome di condivisione.
  • share_provider (stringa): è il nome del provider condivisione.
Esempio
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')
Output
'[{"catalogName":"CATALOG_DELTA_SHARING_1","shareName":"DELTA_SHARING"}]'

Tipo restituito

È una stringa JSON.

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

Tipo di errore

Stringa JSON

Struttura errore

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