カタログ関数

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

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

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

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

次の項では、Oracle Data Studio Catalog APIの使用を開始するのに役立つ関数の例を示します。

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

カタログの取得プロシージャ

この関数はカタログのリストを受け取ります。

構文

Catalog.get_catalogs(search)
パラメータ:
  • search (String): ユーザー指定のカタログ検索テキストです。このパラメータは、リクエストするときにユーザーが指定する必要はありません。省略すると、デフォルト値の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が自動的に使用されます。
  • catalog entity types : 'TABLE'、'VIEW'、'SCHEMA'など
  • search (String): ユーザー指定のカタログ検索テキストです。
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): ユーザー指定のカタログ所有者名です。
  • search (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)
パラメータ:
  • search (String): ユーザー指定のカタログ検索テキストです。このパラメータは、リクエストするときにユーザーが指定する必要はありません。省略すると、デフォルト値の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を有効にします。

構文

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を無効にします。

構文

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を無効にします。

構文

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表をプレビューします。

構文

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 (Boolean): データベース・リンク名モードを作成します。このパラメータは、リクエストするときにユーザーが指定する必要はありません。省略すると、デフォルト値のFalseが自動的に使用されます。
  • database_link_name (String): データベース・リンク名です。このパラメータは、リクエストするときにユーザーが指定する必要はありません。省略すると、デフォルト値のFalseが自動的に使用されます。
  • credential_name (String): Swift資格証明名です。このパラメータは、リクエストするときにユーザーが指定する必要はありません。省略すると、デフォルト値のFalseが自動的に使用されます。

戻り型

JSON文字列です。

戻り構造
'[{"catalogName": catalog name (String),
   "shareName": share name (String)}]'

エラー・タイプ

JSON文字列

エラー構造

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

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

この関数は、Oracle Data Studio Shares Catalogをマウントします。

構文

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