カタログ機能

Oracle Data Studioカタログまたはカタログは、現在接続されているAutonomous Database内のデータおよびその他のオブジェクトを検索する方法を提供するマルチカタログ・ツールであり、また、他の様々な接続システムでも検索できます。

カタログAPI機能を使用すると、クラウド内外のどこからでも、接続されたデータ・アセットを参照、検索および検出できます。

また、他のシステムに新しいカタログをマウントし、接続されたAutonomous Databaseでデータやその他の項目を検索することもできます。

カタログAPI機能を使用すると、次のものに対して新しいカタログをマウントできます。
  • テナンシ内の他のAutonomous Databases。
  • DBリンクを使用して接続できるその他のデータベース(たとえば、Autonomous Databaseが接続できるオンプレミス・データベース)。
  • 共有データ。たとえば、Delta Sharingを使用してDataBricksから共有されるデータ。
  • AWS GlueやOCI Data Catalogなどの既存の外部データカタログ。

次の項では、Oracle Data StudioカタログAPIの使用を開始する際に役立つファンクションの例を示します。

これらの例を使用する前に、ADPインスタンスを作成して接続する必要があります。
import adp as ords
adp = ords.login('<protocol://host:port>', 'schema_name', 'schema_password')
Catalog = adp.Catalog

カタログの取得手順

このファンクションは、カタログのリストを受け取ります。

構文

Catalog.get_catalogs(search)
パラメータ:
  • 検索(文字列): ユーザー指定のカタログ検索テキストです。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値Noneが使用されます。

戻り値の型

JSON文字列です

返品構成
'[

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

 ...

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


get_catalogs.pngの説明が続きます
図get_catalogs.pngの説明

エラー・タイプ

JSON文字列

エラー構造

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

カタログ・エンティティの取得手順

この関数は、カタログ・エンティティのリストを受け取ります。

構文

Catalog.get_catalog_entities(catalog_name, type, search)
パラメータ:
  • catalog_name (String): ユーザー指定のカタログ名です。
  • type (String): ユーザー指定のカタログ・エンティティ・タイプです。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値TABLEが使用されます。
  • カタログ・エンティティ・タイプ: 'TABLE'、'VIEW'、'SCHEMA'など
  • 検索(文字列): ユーザー指定のカタログ検索テキストです。
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)



戻り値の型

JSON文字列です。

返品構成
'[

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

...

]'

エラー・タイプ

JSON文字列

エラー構造

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

データベース・リンクの取得プロシージャ

この関数は、カタログ・エンティティのリストを受け取ります。

構文

Catalog.get_database_links(catalog_name, owner, search)
パラメータ:
  • catalog_name (String): ユーザー指定のカタログ名です。
  • owner (String): ユーザー指定のカタログ所有者名です。
  • 検索(文字列): ユーザー指定のカタログ検索テキストです。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値NONEが使用されます。

戻り値の型

JSON文字列です。

返品構成
'[

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

]'

エラー・タイプ

JSON文字列

エラー構造

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

Autonomous Databaseプロシージャの取得

このファンクションは、Oracle Data Studio Catalog自律型データベースを受信します。

構文

Catalog.get_autonomous_database(search)
パラメータ:
  • 検索(文字列): ユーザー指定のカタログ検索テキストです。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値NONEが使用されます。

戻り値の型

JSON文字列です。

返品構成
'[

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

エラー・タイプ

JSON文字列

エラー構造

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

カタログ・プロシージャの有効化

このファンクションは、Oracle Data Studioカタログを有効にします。

構文

Catalog.enable_catalog(catalog_name)
パラメータ:
  • catalog_name (String): ユーザー指定のカタログ名です。
# catalog api function call
Catalog.enable_catalog('CATALOG_DELTA_SHARING_1')
出力
'{ "updated": true }'

戻り値の型

JSON文字列です。

返品構成
'{ "updated": operation status (True | False)}'

エラー・タイプ

JSON文字列

エラー構造

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

カタログ・プロシージャの無効化

このファンクションは、Oracle Data Studioカタログを無効にします。

構文

Catalog.enable_catalog(catalog_name)
パラメータ:
  • catalog_name (String): ユーザー指定のカタログ名です。
# catalog api function call
Catalog.disable_catalog('CATALOG_DELTA_SHARING_1')

出力

'{ "updated": true }'

戻り値の型

JSON文字列です。

返品構成
'{ "updated": operation status (True | False)}'

エラー・タイプ

JSON文字列

エラー構造

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

カタログのアンマウント手順

このファンクションは、Oracle Data Studioカタログを無効にします。

構文

Catalog.unmount_catalog(catalog_name)
パラメータ:
  • catalog_name (String): ユーザー指定のカタログ名です。
# catalog api function call
Catalog.unmount_catalog('CATALOG_DELTA_SHARING_1')
出力
'{ "unmounted": true }'

戻り値の型

JSON文字列です。

返品構成
'{ "unmounted": operation status (true | false)}'

エラー・タイプ

JSON文字列

エラー構造

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

カタログ表のプレビュー・プロシージャ

このファンクションは、Oracle Data Studioカタログ表をプレビューします。

構文

Catalog.preview_catalog_table(catalog_name, table_name, schema_name,
    row_limit)
パラメータ:
  • catalog_name (String): カタログ名を指定します。
  • table_name (String): カタログ表名を指定します。
  • schema_name (String): カタログ・スキーマ名を指定します。
  • row_limit (Number): カタログ表のプレビュー行制限を指定します。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値100が使用されます。
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)

出力



戻り値の型

JSON文字列です。

返品構成
'[{"columnName": "row_value",.. }, {}, ...]'

エラー・タイプ

JSON文字列

エラー構造

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

OCIデータ・カタログ・プロシージャのマウント

この関数は、OCIデータ・カタログをマウントします。

構文

Catalog.mount_oci_data_catalog(catalog_name, oci_catalog_credential, oci_catalog_region, oci_catalog_name, oci_storage_credential)
パラメータ:
  • catalog_name (String): カタログ名を指定します。
  • oci_catalog_credential (String): OCIカタログ資格証明を指定します。
  • oci_catalog_region (String): OCIカタログ・リージョンを指定します。
  • oci_catalog_name (String): OCIカタログ名を指定します。
  • oci_storage_credential (String): OCIストレージ資格証明を指定します。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値Noneが使用されます。

戻り値の型

JSON文字列です。

返品構成
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

エラー・タイプ

JSON文字列

エラー構造

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

Autonomous Database共有カタログのマウント・プロシージャ

このファンクションは、自律型データベース共有カタログをマウントします。

構文

Catalog.mount_autonomous_database_catalog(catalog_name, database_name, create_database_link,
      database_link_name, credential_name)
パラメータ:
  • catalog_name (String): カタログ名を指定します。
  • database_name (String): 自律型データベース名を指定します。
  • create_database_link (ブール): データベース・リンク名モードを作成します。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値Falseが使用されます。
  • database_link_name (String): データベース・リンク名です。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値Falseが使用されます。
  • credential_name (String): スウィフト資格証明名です。このパラメータは、リクエストを行うときにユーザーが指定する必要はなく、省略すると、自動的にデフォルト値Falseが使用されます。

戻り値の型

JSON文字列です。

返品構成
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

エラー・タイプ

JSON文字列

エラー構造

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

シェアカタログのマウント手順

このファンクションは、Oracle Data Studio共有カタログをマウントします。

構文

Catalog.mount_shares_catalog(catalog_name, share_name,
    share_provider)
パラメータ:
  • catalog_name (String): カタログ名を指定します。
  • share_name (String): シェア名です。
  • share_provider (String): 共有プロバイダ名です。
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')
出力
'[{"catalogName":"CATALOG_DELTA_SHARING_1","shareName":"DELTA_SHARING"}]'

戻り値の型

JSON文字列です。

返品構成
'[{"catalogName": catalog name (String),
"shareName": share name (String)}]'

エラー・タイプ

JSON文字列

エラー構造

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