目录函数

Oracle Data Studio 目录或目录是一个多目录工具,它提供了一种在当前连接的 Autonomous Database 以及各种其他连接系统中搜索数据和其他对象的方法。

使用目录 API 功能,可以从云中的任何位置以及其他位置浏览、搜索和搜索连接的数据资产。

它还支持在其他系统上挂载新目录,并在连接的 Autonomous Database 中搜索数据和其他项目。

使用目录 API 功能,可以通过以下方式挂载新目录:
  • 您的租户中的其他自治数据库。
  • 可以使用数据库链接来连接任何其他数据库,例如 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) :它是用户提供的目录名称。
  • 类型(字符串):它是用户提供的目录实体类型。用户在发出请求时不需要提供此参数,如果省略此参数,系统将自动为其使用默认值 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.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(字符串):它指定目录方案名称。
  • 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)}'

Mount Autonomous Database Share Catalog 过程

此函数挂载自治数据库共享目录。

语法

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(字符串):它是数据库链接名称。用户在发出请求时不需要提供此参数,如果省略此参数,系统将自动为其使用默认值 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 (String) :指定目录名称。
  • share_name (String) :它是共享资源名称。
  • share_provider (String)(share_provider(字符串)):它是共享提供程序名称。
示例
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)}'