12.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 Autonomous 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関数の実行を参照してください。

pyqEvalファンクション(Autonomous Database) (Autonomous Database)

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関数の実行を参照してください。

pyqTableEvalファンクション(Autonomous Database) (Autonomous Database)

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関数の実行を参照してください。

pyqGroupEvalファンクション(Autonomous Database) (Autonomous Database)

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関数の実行を参照してください。

pyqRowEvalファンクション(Autonomous Database) (Autonomous Database)

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関数の複数回の実行を参照してください。

pyqIndexEvalファンクション(Autonomous Database) (Autonomous Database)

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

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

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

pyqJobStatusファンクション(Autonomous Database) (Autonomous Database)

ジョブ結果API 該当なし

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

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

pyqJobResultファンクション(Autonomous Database) (Autonomous Database)

スクリプト・リポジトリ

oml.script.dir関数

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

GET /api/py-scripts/v1/scripts

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

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

スクリプト・リポジトリ

oml.script.create関数

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

該当なし

pyqScriptCreateプロシージャ(Autonomous Database) (Autonomous Database)

スクリプト・リポジトリ

oml.script.drop関数

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

該当なし

pyqScriptDropプロシージャ(Autonomous Database) (Autonomous Database)

スクリプト・リポジトリ

oml.script.load関数

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

該当なし

該当なし

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

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

oml.grant関数

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

該当なし

pyqGrantプロシージャ(Oracle Autonomous Database)

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

oml.revoke関数

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

該当なし

pyqRevokeプロシージャ(Autonomous Database)

認可 -

アクセス制御リスト

該当なし 該当なし

pyqAppendHostACEプロシージャ (Autonomous Database)

認可 -

アクセス制御リスト

該当なし 該当なし

pyqRemoveHostACEプロシージャ (Autonomous Database)

認可 -

アクセス制御リスト

該当なし 該当なし

pyqGetHostACEファンクション (Autonomous Database)

認可 - トークン 該当なし

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

認可 - トークン 該当なし

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

pyqIsTokenSetファンクション (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')