Fonctions de catalogue

Le catalogue ou catalogue Oracle Data Studio est un outil multi-catalogue qui permet de rechercher des données et d'autres objets dans votre instance Autonomous Database actuellement connectée, ainsi que dans un large éventail d'autres systèmes connectés.

La fonctionnalité d'API Catalog permet de parcourir, de rechercher et de découvrir des ressources de données connectées où que vous soyez dans le cloud et au-delà.

Il permet également de monter de nouveaux catalogues sur d'autres systèmes et de rechercher des données et d'autres éléments dans la base de données Autonomous Database connectée.

La fonctionnalité API Catalogue permet de monter de nouveaux catalogues sur :
  • Autres bases de données autonomes de votre location.
  • Toute autre base de données qui peut être connectée à l'aide d'un lien de base de données, par exemple une base de données sur site à laquelle votre instance Autonomous Database peut se connecter.
  • Données partagées, par exemple données partagées à partir de DataBricks à l'aide de Delta Sharing.
  • Catalogues de données externes existants, tels qu'AWS Glue ou OCI Data Catalog.

Cette section ci-dessous fournit des exemples de fonctions pour vous aider à commencer à utiliser l'API Oracle Data Studio Catalog.

Avant d'utiliser ces exemples, vous devez créer l'instance ADP, puis vous connecter.
import adp as ords
adp = ords.login('<protocol://host:port>', 'schema_name', 'schema_password')
Catalog = adp.Catalog

Obtenir les catalogues - Procédure

Cette fonction reçoit la liste des catalogues.

Syntaxe

Catalog.get_catalogs(search)
Paramètres:
  • recherche (chaîne) : texte de recherche de catalogue fourni par l'utilisateur. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut None pour ce paramètre.

Type de retour

Chaîne JSON

Structure de retour
'[

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

 ...

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


Description de l'image get_catalogs.png ci-après
Description de l'image get_catalogs.png

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Obtenir les entités de catalogue - Procédure

Cette fonction reçoit la liste des entités de catalogue.

Syntaxe

Catalog.get_catalog_entities(catalog_name, type, search)
Paramètres:
  • catalog_name (chaîne) : nom de catalogue fourni par l'utilisateur.
  • type (chaîne) : type d'entité de catalogue fourni par l'utilisateur. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut TABLE pour ce paramètre.
  • types d'entité de catalogue : 'TABLE', 'VIEW', 'SCHEMA', etc.
  • recherche (chaîne) : texte de recherche de catalogue fourni par l'utilisateur.
Exemples 
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)



Type de retour

Chaîne JSON.

Structure de retour
'[

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

...

]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure d'obtention de liens de base de données

Cette fonction reçoit la liste des entités de catalogue.

Syntaxe

Catalog.get_database_links(catalog_name, owner, search)
Paramètres:
  • catalog_name (chaîne) : nom de catalogue fourni par l'utilisateur.
  • owner (String) : nom de propriétaire de catalogue fourni par l'utilisateur.
  • recherche (chaîne) : texte de recherche de catalogue fourni par l'utilisateur. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut NONE pour ce paramètre.

Type de retour

Chaîne JSON.

Structure de retour
'[

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

]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure d'obtention d'Autonomous Database

Cette fonction reçoit les bases de données autonomes Oracle Data Studio Catalog.

Syntaxe

Catalog.get_autonomous_database(search)
Paramètres:
  • recherche (chaîne) : texte de recherche de catalogue fourni par l'utilisateur. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut NONE pour ce paramètre.

Type de retour

Chaîne JSON.

Structure de retour
'[

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

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Activer la procédure de catalogue

Cette fonction active le catalogue Oracle Data Studio.

Syntaxe

Catalog.enable_catalog(catalog_name)
Paramètres:
  • catalog_name (chaîne) : nom de catalogue fourni par l'utilisateur.
Exemple
# catalog api function call
Catalog.enable_catalog('CATALOG_DELTA_SHARING_1')
Sortie
'{ "updated": true }'

Type de retour

Chaîne JSON.

Structure de retour
'{ "updated": operation status (True | False)}'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Désactiver la procédure de catalogue

Cette fonction désactive le catalogue Oracle Data Studio.

Syntaxe

Catalog.enable_catalog(catalog_name)
Paramètres:
  • catalog_name (chaîne) : nom de catalogue fourni par l'utilisateur.
Exemples 
# catalog api function call
Catalog.disable_catalog('CATALOG_DELTA_SHARING_1')

Sortie

'{ "updated": true }'

Type de retour

Chaîne JSON.

Structure de retour
'{ "updated": operation status (True | False)}'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure de démontage du catalogue

Cette fonction désactive le catalogue Oracle Data Studio.

Syntaxe

Catalog.unmount_catalog(catalog_name)
Paramètres:
  • catalog_name (chaîne) : nom de catalogue fourni par l'utilisateur.
Exemple
# catalog api function call
Catalog.unmount_catalog('CATALOG_DELTA_SHARING_1')
Sortie
'{ "unmounted": true }'

Type de retour

Chaîne JSON.

Structure de retour
'{ "unmounted": operation status (true | false)}'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Prévisualiser la table de catalogue - Procédure

Cette fonction affiche un aperçu de la table Oracle Data Studio Catalog.

Syntaxe

Catalog.preview_catalog_table(catalog_name, table_name, schema_name,
    row_limit)
Paramètres:
  • catalog_name (chaîne) : indique le nom du catalogue.
  • table_name (chaîne) : indique le nom de la table de catalogue.
  • schema_name (chaîne) : indique le nom du schéma de catalogue.
  • row_limit (Number) : indique la limite de lignes d'aperçu de la table de catalogue. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut 100 pour ce paramètre.
Exemple
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)

Sortie



Type de retour

Chaîne JSON.

Structure de retour
'[{"columnName": "row_value",.. }, {}, ...]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure de montage d'OCI Data Catalog

Cette fonction monte OCI Data Catalog.

Syntaxe

Catalog.mount_oci_data_catalog(catalog_name, oci_catalog_credential, oci_catalog_region, oci_catalog_name, oci_storage_credential)
Paramètres:
  • catalog_name (chaîne) : indique le nom du catalogue.
  • oci_catalog_credential (chaîne) : indique les informations d'identification de catalogue OCI.
  • oci_catalog_region (chaîne) : indique la région de catalogue OCI.
  • oci_catalog_name (chaîne) : indique le nom de catalogue OCI.
  • oci_storage_credential (String) : indique les informations d'identification de stockage OCI. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut None pour ce paramètre.

Type de retour

Chaîne JSON.

Structure de retour
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure de montage du catalogue de partage Autonomous Database

Cette fonction monte le catalogue de partage de base de données autonome.

Syntaxe

Catalog.mount_autonomous_database_catalog(catalog_name, database_name, create_database_link,
      database_link_name, credential_name)
Paramètres:
  • catalog_name (chaîne) : indique le nom du catalogue.
  • database_name (String) : indique le nom de la base de données autonome.
  • create_database_link (booléen) : crée le mode de nom de lien de base de données. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut False pour ce paramètre.
  • database_link_name (chaîne) : nom de lien de base de données. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut False pour ce paramètre.
  • credential_name (String) : nom d'informations d'identification rapide. Ce paramètre n'est pas obligatoire pour l'utilisateur lorsqu'il effectue une demande. S'il est omis, le système utilise automatiquement la valeur par défaut False pour ce paramètre.

Type de retour

Chaîne JSON.

Structure de retour
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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

Procédure de montage du catalogue de partages

Cette fonction monte le catalogue de partages Oracle Data Studio.

Syntaxe

Catalog.mount_shares_catalog(catalog_name, share_name,
    share_provider)
Paramètres:
  • catalog_name (chaîne) : indique le nom du catalogue.
  • share_name (chaîne) : nom de partage.
  • share_provider (chaîne) : nom du fournisseur de partage.
Exemple
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')
Sortie
'[{"catalogName":"CATALOG_DELTA_SHARING_1","shareName":"DELTA_SHARING"}]'

Type de retour

Chaîne JSON.

Structure de retour
'[{"catalogName": catalog name (String),
"shareName": share name (String)}]'

Type d'erreur

Chaîne JSON

Structure d'erreur

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