10.1.1 Embedded Python Execution APIの比較

次の表では、4つのEmbedded Python Execution APIを比較しています。

APIは次のとおりです。

  • Embedded Python Execution API
  • Embedded Python ExecutionのREST API (Oracle Autonomous Databaseで使用)
  • オンプレミスOracle DatabaseでのEmbedded Python ExecutionのSQL API。

APIは多くの関数を共有しますが、環境が異なるため、いくつかの点で異なります。たとえば、Autonomous Databaseで使用可能なAPIは、Web環境で操作するためのAPIを提供します。

プロシージャおよび関数は、PYQSYSおよびSYSスキーマの一部です。

カテゴリ Embedded Python ExecutionのPython API Embedded Python ExecutionのREST API Embedded Python ExecutionのSQL API
Embedded Python Execution関数

oml.do_eval関数

ユーザー定義Python関数の実行を参照してください。

POST /api/py-scripts/v1/do-eval/{scriptName}

Python関数の実行を参照してください。

POST /api/py-scripts/v1/do-eval/{scriptName}/{ownerName}

スクリプト所有者が指定されたPython関数の実行を参照してください。

Embedded Python Execution関数

oml.table_apply関数

指定したデータに対するユーザー定義Python関数の実行を参照してください。

POST /api/py-scripts/v1/table-apply/{scriptName}

指定したデータに対するPython関数の実行を参照してください。

POST /api/py-scripts/v1/table-apply/{scriptName}/{ownerName}}

スクリプト所有者が指定された指定したデータに対するPython関数の実行を参照してください。

Embedded Python Execution関数

oml.group_apply関数

列値でグループ化されたデータに対するPython関数の実行を参照してください。

POST /api/py-scripts/v1/group-apply/{scriptName}

グループ化データに対するPython関数の実行を参照してください。

POST /api/py-scripts/v1/group-apply/{scriptName}/{ownerName}

スクリプト所有者が指定されたグループ化データに対するPython関数の実行を参照してください。

Embedded Python Execution関数

oml.row_apply関数

行セットに対するユーザー定義Python関数の実行を参照してください。

POST /api/py-scripts/v1/row-apply/{scriptName}

行のチャンクに対するPython関数の実行を参照してください。

POST /api/py-scripts/v1/row-apply/{scriptName}/{ownerName}

スクリプト所有者が指定された行のチャンクに対するPython関数の実行を参照してください。

Embedded Python Execution関数

oml.index_apply関数

ユーザー定義Python関数の複数回実行を参照してください。

POST /api/py-scripts/v1/index-apply/{scriptName}

Python関数の複数回の実行を参照してください。

POST /api/py-scripts/v1/index-apply/{scriptName}/{ownerName}

スクリプト所有者が指定されたPython関数の複数回の実行を参照してください。

ジョブ・ステータスAPI 該当なし

GET /api/py-scripts/v1/jobs/{jobId}

非同期ジョブ・ステータスの取得を参照してください。

ジョブ結果API 該当なし

GET /api/py-scripts/v1/jobs/{jobId}/result

非同期ジョブ結果の取得を参照してください。

スクリプト・リポジトリ

oml.script.dir関数

使用可能なユーザー定義Python関数のリストを参照してください。

GET /api/py-scripts/v1/scripts

スクリプトのリストを参照してください。

ALL_PYQ_SCRIPTSビューおよびUSER_PYQ_SCRIPTSビューを問い合せて、スクリプトをリストします。

スクリプト・リポジトリ

oml.script.create関数

ユーザー定義Python関数の作成および格納を参照してください。

該当なし
スクリプト・リポジトリ

oml.script.drop関数

リポジトリからのユーザー定義Python関数の削除を参照してください。

該当なし
スクリプト・リポジトリ

oml.script.load関数

ユーザー定義Python関数のロードを参照してください。

該当なし

該当なし

(スクリプトは、関数のコール時にSQL APIにロードされます。)

スクリプト・リポジトリ 該当なし 該当なし

ALL_PYQ_SCRIPTSビュー

スクリプト・リポジトリ 該当なし 該当なし

USER_PYQ_SCRIPTSビュー

スクリプト・リポジトリおよびデータストア

oml.grant関数

スクリプト・リポジトリについてを参照してください。

該当なし
スクリプト・リポジトリおよびデータストア

oml.revoke関数

スクリプト・リポジトリについてを参照してください。

該当なし
データストア 該当なし 該当なし

ALL_PYQ_DATASTORESビュー

データストア 該当なし 該当なし

ALL_PYQ_DATASTORE_CONTENTSビュー

データストア 該当なし 該当なし

USER_PYQ_DATASTORESビュー

認可 -

アクセス制御リスト

該当なし 該当なし
  • pyqAppendHostACEプロシージャ (Autonomous Database)

  • 該当なし(オンプレミス・データベース)

    (オンプレミスでは、認可はユーザー・スキーマへのログインに関連しています。)

認可 -

アクセス制御リスト

該当なし 該当なし

認可 -

アクセス制御リスト

該当なし 該当なし
認可 - トークン 該当なし

認証を参照してください。

認可 - トークン 該当なし

認証を参照してください。

ノート:

Embedded Python Execution用のREST APIおよびSQL APIの長さ関数に出力制限が存在します。長さが5000を超える長さ関数を問い合せると、エラー・コード1024およびエラー・メッセージ出力が最大長5000を超えていますでエラーが発生します。制限は、返されたpythonオブジェクトのlen()結果に対して設定されます。たとえば、pandas.DataFrameのlen()は行数、リストのlen()はリストの長さなどです。pandas.DataFrameが返された場合、5000行を超える行を含めることはできません。リストが返される場合は、5000を超える項目を含めることはできません。この制限は、%script段落のOML_OUTPUT_SZLIMITを更新することで拡張できます。

%script

EXEC sys.pyqconfigset('OML_OUTPUT_SZLIMIT', '8000')