EPM統合エージェントのAPIメソッド

EPM統合エージェントには、ログ・ファイルのテキストの指定、バインド変数や問合せの更新などのアクション、および特別な問合せまたはSQL以外のデータ・ソースが使用されている場合に、SQL処理ステップをスキップするようにEPM統合エージェントに指示するアクションを実行するために、スクリプトで使用できる多数のメソッドが用意されています。

EPM統合エージェントのAPIメソッドは次のとおりです:

APIメソッド 説明

logInfo()

エージェント・プロセス・ログに情報メッセージを記録します。このエントリは、EPM_APP_DATA_HOME\logsフォルダのプロセス・ログ、Oracle Enterprise Performance Management Cloudのジョブ・ログに記録されますが、ローカルのepmagent.logには記録されません。ログ・エントリは、INFOログ・レベルで作成されます。

agentAPI.logInfo("SAMPLE: INFO log message from script")

logError()

エージェント・プロセス・ログにエラー・メッセージを記録します。このエントリは、EPM_APP_DATA_HOME\logsフォルダのプロセス・ログ、EPM Cloudのジョブ・ログ、およびepmagent.logにも記録されます。ログ・エントリは、SEVERログ・レベルで作成されます。

agentAPI.logError("SAMPLE: SEVER log message from script")

setBindVariables()

setBindVariables()メソッドを使用して、抽出問合せのバインド変数を更新します。これは、befExtractスクリプトにのみ適用されます。

バインド変数は、キーとして変数NAMEおよびVALUEを含む、各変数のJavaマップ・エントリとして渡される必要があります。

newBindVar = dict({'PERIOD':'Feb-05', 'LEDGER':'Vision Operations (USA)'})

jmap = java.util.HashMap()

(キーの場合)newBindVar.keys(): jmap[key] = newBindVar[key]

agentAPI.setBindVariables(jmap)

getBindVariables()

getBindVariables()メソッドを使用して、抽出問合せのバインド変数をフェッチします。各バインド変数はマップに格納され、キーNAMEおよびVALUEを使用してバインド変数を定義します。

bindVariables = agentAPI.getBindVariables()

(エントリの場合)bindVariables.entrySet(): print entry.key, entry.value

updateQuery()

updateQuery()メソッドを使用して、抽出問合せを更新します。これは、befExtractスクリプトにのみ適用されます。

agentAPI.updateQuery("SELECT * FROM TDATASEG")

getQuery()

getQuery()メソッドを使用して、抽出実行呼出し中にEPM CloudからEPM統合エージェントに渡される問合せをフェッチします。

print "Printing Query: " + agentAPI.getQuery()

skipAction()

skipAction()メソッドを使用して、カスタム抽出ルーチンがEPM統合エージェントで使用されている場合にデータの抽出ステップをスキップします。

抽出実行はbefExtractスクリプトでのみスキップできることに注意してください。

保存された問合せを実行するのではなく、EPM Cloudにアップロードするデータ・ファイルを提供する場合は、EPM Cloudへのアップロード時に、<process ID>.datという名前のファイルがMyData/dataフォルダに保存されている必要があります。つまり、befExtractaftExtractまたはbefUploadスクリプトで、ファイルがこのフォルダに保存されている必要があります。

agentAPI.skipAction('true')

getConnectionDetails()

getConnectionDetails()メソッドを使用して、抽出実行呼出し中にEPM CloudからEPM統合エージェントに渡される、接続の資格証明データ・オブジェクトをクラウドからフェッチします。

cred = agentAPI.getConnectionDetails()
url = cred.getJDBCUrl()
user = cred.getUserName()
password = cred.getPassword()
agentAPI.logInfo ("Connection Details: ")
agentAPI.logInfo("URL: " + url)
agentAPI.logInfo('User: ' + user)

setCustomConnection(conn)

setCustomConnection(conn)メソッドを使用して、抽出実行呼出し中にEPM統合エージェントへのカスタム作成接続を設定します。エージェントは、この接続を使用して実行します。connオブジェクトは、タイプ4 JDBC接続であるとともにjava.sql.Connectionインタフェースの実装である必要があります。

これは、befExtractおよびbefExportスクリプトにのみ適用されます。使用方法の詳細は、サンプル・スクリプトBefExtract.pyと、Java CustomEventSampleおよびCustomWribackEventを参照してください。

Oracleデータベースへのカスタム接続を作成するには:

java.lang.Class.forName("oracle.jdbc.driver.OracleDriver")
conn = java.sql.DriverManager.getConnection('jdbc:oracle:thin:@<host>:<port>:<sid>', '<user/schema name>', '<password>')
agentAPI.setCustomConnection(conn)