型錄功能

Oracle Data Studio Catalog 或 Catalog 是一個多目錄工具,可讓您搜尋目前連線之 Autonomous Database 中以及許多其他連線系統中的資料和其他物件。

目錄 API 功能可讓您從雲端和其他位置瀏覽、搜尋及探索互連的資料資產。

此外,也能夠在其他系統上掛載新目錄,並在連線的 Autonomous Database 中搜尋資料和其他項目。

型錄 API 功能可讓您將新型錄掛載至:
  • 您租用戶中的其他自治式資料庫。
  • 可以使用資料庫連結連線的任何其他資料庫,例如 Autonomous Database 可以連線的內部部署資料庫。
  • 共用資料,例如使用 Delta Sharing 從 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)
參數
  • 搜尋 (字串) :這是使用者提供的目錄搜尋文字。使用者在提出要求時不需要提供此參數,如果省略此參數,系統會自動為其使用預設值 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 (字串) :這是使用者提供的目錄名稱。
  • 類型 (字串) :這是使用者提供的目錄實體類型。使用者在提出要求時不需要提供此參數,如果省略此參數,系統會自動為其使用預設值 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 (字串) :這是使用者提供的目錄名稱。
  • owner (字串) :這是使用者提供的目錄擁有者名稱。
  • 搜尋 (字串) :這是使用者提供的目錄搜尋文字。使用者在提出要求時不需要提供此參數,如果省略此參數,系統會自動為其使用預設值 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。

語法

Catalog.enable_catalog(catalog_name)
參數
  • catalog_name (字串) :這是使用者提供的目錄名稱。
範例
# 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 (字串) :這是使用者提供的目錄名稱。
範例
# 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 (字串) :這是使用者提供的目錄名稱。
範例
# 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 (字串) :指定目錄名稱。
  • table_name (String) :指定目錄表格名稱。
  • schema_name (字串) :它指定目錄綱要名稱。
  • row_limit (數字) :指定目錄表格預覽資料列限制。使用者在提出要求時不需要提供此參數,如果省略此參數,系統會自動為其使用預設值 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 (字串) :指定目錄名稱。
  • oci_catalog_credential (String) :指定 OCI 目錄證明資料。
  • oci_catalog_region (String) :指定 OCI 目錄區域。
  • oci_catalog_name (字串) :指定 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 (字串) :指定目錄名稱。
  • database_name (String) :指定自治式資料庫名稱。
  • create_database_link (布林值) :它會建立資料庫連結名稱模式。使用者在提出要求時不需要提供此參數,如果省略此參數,系統會自動為其使用預設值 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 共用目錄。

語法

Catalog.mount_shares_catalog(catalog_name, share_name,
    share_provider)
參數
  • catalog_name (字串) :指定目錄名稱。
  • 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)}'