ジョブの実行
/essbase/rest/v1/jobs
ジョブを実行し、現在のジョブのID、ステータス、入力および出力など、ジョブ情報を含むレコードを返します。
リクエスト
- application/json
リクエスト本体でJSON文字列として提供されたパラメータ。
object
- application(required): string
- db(required): string
- jobtype(required): string
ジョブのタイプ。たとえば、
dataload
、dimbuild
、calc
、clear
、importExcel
、exportExcel
、lcmExport
、lcmImport
、clearAggregation
、buildAggregation
、asoBufferDataLoad
、asoBufferCommit
、exportData
、mdxScript
です。 - parameters: object ParametersBean
object
- abortOnError: string
trueの場合、データ・ロードは最初のエラーで停止します。それ以外の場合、データ・ロードは続行されます。
- actionType: string
指定可能な値:
[ "COMMIT", "ABORT" ]
ロード・バッファのコミット中にエラーが発生した場合の対処方法を指定する整数またはキーワード。
COMMIT
または1 - コミットしますABORT
または2 - 操作を終了します - analyzeFileName: string
- analyzeSheetName: string
- appId: string
- artifactList: string
LCMImportジョブ・タイプの場合。使用するアーティファクト・リストの名前(LCMExportジョブでgenerateArtifactListがtrueの場合のみ有効)。
- backupType: string
- basedOnQueryData: string
buildAggregationジョブ・タイプの場合。trueの場合は、Essbaseで選択されたビューを、収集したユーザー問合せパターンに基づいて集約します。このオプションは、問合せトラッキングがオンになっている場合にのみ使用可能です。
- bufferId: integer(int32)
単一の集約ストレージ・データ・ロード・バッファの一意のID。1から4294967296の間の数値である必要があります。このオプションかbufferIdsオプションのいずれかを使用しますが、両方は使用できません。
- bufferIds: array bufferIds
一意の集約ストレージ・データ・ロード・バッファIDの配列。複数のバッファをコミットする場合は、このオプションを使用します。
- buildMethod: string
exportExcelジョブ・タイプの場合。有効な構築方法は、PARENT-CHILD (推奨される方法)およびGENERATIONです。
- buildOption: string
importExcelジョブ・タイプの場合。アプリケーションがワークブックからすでに構築されている場合は、そのワークブックからさらにインポートを実行することで、それを更新し続けることができます。ワークブックから再度インポートするときには、増分更新オプションであるNONE、RETAIN_ALL_DATAまたはREMOVE_ALL_DATAを使用できます。
- calc: string
exportExcelジョブ・タイプの場合。trueの場合は、エクスポートに計算スクリプトを含めます。
- catalogExcelPath: string
importExcelジョブ・タイプの場合。ファイル・カタログ内のアプリケーション・ワークブックへのパス。ファイル名を指定するには、importExcelFileNameを使用します。
- columnFormat: string
exportExcelまたはexportDataジョブ・タイプの場合。trueの場合は、キューブを表形式でエクスポートします。それ以外の場合は、アプリケーション・ワークブックとしてエクスポートします。エクスポートされた表形式データでは、データおよびメタデータがヘッダー付きの列に編成されており、それらはEssbaseで新しいキューブをデプロイするために使用できます。エクスポートされた表形式データに含まれる情報は、アプリケーション・ワークブックの場合よりも少なくなります。
- commitOption: string
集約ストレージ・データ・ロード・バッファのコミット・オプションを説明する整数またはキーワード。データ・ロード・バッファのコンテンツをキューブにコミットするときに、既存の値に追加するか、既存の値から抽出するか、既存の値を上書きするかを指定します。
STORE_DATA
(0) - ロード・バッファにデータを保存しますADD_DATA
(1) - ロード・バッファの値を、格納された既存のデータ値に追加しますSUBTRACT_DATA
(2) - 格納された既存のデータ値からロード・バッファの値を減算しますOVERRIDE_ALL_DATA
(3) - キューブから現在のデータ値を削除し、データ・ロード・バッファ内の値で置き換えます。OVERRIDE_INCREMENTAL_DATA
(4) - キューブ内のすべての増分データ・スライスの現在のコンテンツを削除し、指定されたデータ・ロード・バッファのコンテンツを持つ新しいデータ・スライスを作成します。新しいデータは、データ・ロード・プロパティadd values (aggregate_sum)を使用して作成されます。新しいデータとプライマリ・スライスの間に重複セルがある場合にそれらに問い合せると、値は加算されます。
- compress: string
exportExcelまたはexportDataジョブ・タイプの場合。trueの場合は、データを圧縮します。
- connection: string
dimbuildまたはdataloadジョブ・タイプで、useConnectionがtrueの場合。保存されている接続の名前。
- copyToStorage: string
LCMExportジョブ・タイプの場合。trueの場合は、バックアップのコピーがサーバー・ストレージに保存されます。
- createFiles: string
importExcelジョブ・タイプの場合。trueの場合は、キューブ・ディレクトリにキューブ・アーティファクトを作成します。
- data: string
exportExcelジョブ・タイプの場合。trueの場合は、エクスポートにデータを含めます。
- dataLevel: string
exportExcelまたはexportDataジョブ・タイプの場合。エクスポートするデータの量を示す定数。数値または対応する文字列値を渡すことができます。0=ALL_DATA、1=UPPER_LEVEL_BLOCKS、2=NON_INPUT_BLOCKS、3=LEVEL_ZERO_BLOCKS、4=INPUT_LEVEL_DATA_BLOCKS
- dbType: string
- deleteExcelOnSuccess: string
- dimDesignationMode: string
- disasterRecovery: string
- discoverDimensionTables: string
- enableAlternateRollups: string
buildAggregationジョブ・タイプの場合。trueの場合は、Essbaseでビュー選択にセカンダリ階層(別のロールアップ)が考慮されるようになります。
- enableSandboxing: string
- executeScript: string
importExcelジョブ・タイプの場合。trueの場合は、計算スクリプトを実行します。アプリケーション・ワークブックに含まれている計算ワークシートの定義でExecute CalcがYesに設定されている場合のみ適用できます。
- exportDynamicBlocks: string
exportDataジョブ・タイプで、columnFormatがtrueの場合。表形式データのエクスポートに、動的に計算された疎メンバーを含めます。これらはデフォルトでは含まれません。
- file: string
データ・ロードまたはディメンション構築のためのソース・ファイル。ファイルがEssbaseファイル・カタログのキューブ・ディレクトリ以外の場所(ユーザー・ディレクトリや共有ディレクトリなど)にある場合は、ファイル名の先頭に
catalog/directory_name/
を付けます。たとえば、"file" : "catalog/shared/dataload.txt"
です。 - filesystemcopy: string
- force: string
- forceDimBuild: string
ディメンション構築の場合。trueの場合は、他のユーザー・アクティビティが進行中の場合でも、ディメンション構築を続行します。これにより、アクティブなユーザー・セッションが取り消されます。
- generateArtifactList: string
LCMExportジョブ・タイプの場合。trueの場合は、エクスポートしたアーティファクトのテキスト・ファイル・リストを生成します。そのリストを使用してインポートを制御できます。たとえば、アーティファクトの順序を並べ替えてインポート順序を制御することや、リスト内のインポートするアイテムを列挙することができます。
- hideShadow: string
シャドウ・アプリケーションを非表示にするにはtrueを指定し、それ以外の場合はfalseを指定します。
- importExcelFileName: string
importExcelジョブ・タイプの場合。アプリケーション・ワークブックのファイル名。キューブ・ディレクトリ内にない場合は、catalogExcelPathを使用してパスを指定します。
- includeServerLevel: string
LCMExportおよびLCMImportジョブ・タイプの場合。trueの場合は、グローバルに定義された接続およびデータソースをエクスポートまたはインポートの一部として含めます。
- isScriptContent: boolean
- lcmImportFromStorage: string
LCMImportジョブ・タイプの場合。trueの場合は、サーバー・ストレージに保存されているバックアップからインポートします。
- loaddata: string
importExcelジョブ・タイプの場合。trueの場合は、データをロードします(ワークブックにデータ・ワークシートが含まれている場合)。それ以外の場合は、メタデータのみがキューブにインポートされます。
- lockForUpdate: boolean
- maxParallel: string
- memberIds: string
- option: string
データのクリア・ジョブの場合。クリア対象を指定するキーワード。省略された場合のデフォルト・オプションは、allDataです。ブロック・ストレージ・キューブの場合のオプション: allData ???すべてのデータ、リンクされているオブジェクト、およびアウトラインがクリアされます。upperLevel ???上位レベルのブロックがクリアされます。nonInput ???非入力ブロックがクリアされます。集約ストレージ・キューブ場合のオプション: allData ???すべてのデータ、リンクされたオブジェクト、およびアウトラインがクリアされます。allAggregations ???すべての集約済データがクリアされます。partialData ???指定されたリージョンのみがクリアされます(partialDataExpressionパラメータで指定されたMDXリージョン)。
- overwrite: string
LCMExportおよびLCMImportジョブ・タイプの場合。trueの場合は、既存のバックアップを上書きするか(LCMExportの場合)、既存のアプリケーションを上書きします(LCMImportの場合).
- partialDataExpression: string
- password: string
dimbuildまたはdataloadジョブ・タイプで、useConnectionがfalseで、RDBMSに接続するルール・ファイルがジョブで使用される場合。RDBMSに接続できるユーザーのパスワード。
- primaryAppName: string
メインまたはベース(非シャドウ)アプリケーション名。
- ratioToStop: string
buildAggregationジョブ・タイプの場合。停止値。この値を使用して、キューブの集約前サイズに対する、集約ストレージ・キューブのマテリアライズ中に許可する成長サイズの率を指定します。(集約がマテリアライズされる前は、キューブには入力レベルのデータのみが含まれる。)たとえば、キューブのサイズが1 GBで、停止値が1.2の場合、結果となるデータのサイズが1 GBの20%(合計サイズは1.2 GB)を超えることはできません。停止値を指定しない場合は、このパラメータに0を入力します。
- recreateApplication: string
importExcelジョブ・タイプの場合。trueの場合は、アプリケーションを再作成します(すでに存在する場合)。
- reportScriptFilename: string
- restructureOption: string
ディメンション構築の場合。キューブ内の既存データの保持オプション。PRESERVE_ALL_DATA: 既存のすべてのデータ・ブロックを保持します(ブロック・ストレージ・キューブおよび集約ストレージ・キューブで有効)。PRESERVE_NO_DATA: 既存のデータを破棄します(ブロック・ストレージ・キューブおよび集約ストレージ・キューブで有効)。PRESERVE_LEAFLEVEL_DATA: 既存のレベル0データを保持します(ブロック・ストレージのみ)。PRESERVE_INPUT_DATA: 入力レベルの既存のデータを保持します(ブロック・ストレージのみ)。
- rtsv: array rtsv
計算スクリプトに定義されたランタイム代替変数。
- rule: string
オプションのルール・ファイル(ジョブがデータ・ロードまたはディメンション構築の場合)。
- script: string
計算実行の場合。計算スクリプト名。.cscファイル拡張子が必要です。フル・パスを指定する必要はありません。ファイルは関連キューブ・ディレクトリにあると見なされます。
- selectedDimensions: array selectedDimensions
- shadowAppName: string
シャドウ(コピーした)アプリケーションの名前。
- skipdata: string
LCMExportジョブ・タイプの場合。trueの場合は、バックアップにデータを含めません。
- targetApplicationName: string
LCMImportジョブ・タイプの場合。アプリケーション名がエクスポート前またはバックアップ前と異なる場合に、オプションで、インポート後またはリストア後のアプリケーション名を指定します。
- termOption: string
指定可能な値:
[ "INCR_TO_MAIN_SLICE", "INCR_TO_NEW_SLICE", "INCR_TO_NEW_SLICE_LIGHTWEIGHT" ]
データ・スライスをデータ・ロード・バッファからキューブにコミットするための最終オプションを指定する整数またはキーワード。
INCR_TO_MAIN_SLICE
(または0): すべての増分データ・スライスのコンテンツをプライマリ(メイン)・スライスとしてコミットします。INCR_TO_NEW_SLICE
(または1): すべての増分データ・スライスのコンテンツを新しいスライスに置き換えます。INCR_TO_NEW_SLICE_LIGHTWEIGHT
(または2): 軽量操作として、現在バッファに格納されているデータをキューブ内の新しいスライスに書き込みます。このオプションは、同時に発生する最大1,000セルの非常に小さなデータ・ロード(たとえば、グリッド・クライアントのデータ更新操作)のみを対象としています。
- threads: string
- timeoutToForceUnloadApp: string
アプリケーションによって実行されたリクエストが進行中である場合にそのアプリケーションを強制的にアンロードおよび停止するまでの時間間隔(秒単位)。正常なアンロード・プロセスが失敗するか、その実行時間がこのタイムアウトで許可されている時間よりも長くなると、Essbaseによってアプリケーションが強制終了されます。
- timestamp: string
- unstructuredAnalysis: object CompactDesignation
- useConnection: string
dimbuildまたはdataloadジョブ・タイプの場合。trueの場合は、保存済接続を使用する必要があると指定します(接続名を示すconnectionパラメータも渡す必要があります)。falseの場合、RDBMSに接続するルール・ファイルがジョブで使用されるときは、RDBMS.useConnectionに接続するユーザーの名前とパスワードを指定する必要があります
- user: string
dimbuildまたはdataloadジョブ・タイプで、useConnectionがfalseで、RDBMSに接続するルール・ファイルがジョブで使用される場合。RDBMSに接続できるユーザーの名前。
- verbose: string
- waitForOngoingUpdatesInSecs: string
アクティブな書込み操作が完了するまでの待機期間(秒単位)。
- zipFileName: string
LCMExportおよびLCMImportジョブ・タイプの場合。バックアップ・ファイルを含む圧縮ファイルの名前。
array
一意の集約ストレージ・データ・ロード・バッファIDの配列。複数のバッファをコミットする場合は、このオプションを使用します。
object
- badRowListString: string
- bsoLimitsExceeded: boolean
- columnOffset: integer(int32)
- compactDesignationColumn: array compactDesignationColumn
- dateColumnId: integer(int32)
- dateDimensionLeaves: array dateDimensionLeaves
- dateDimString: string
- dateFormatString: string
- dimCompactDesignationList: array dimCompactDesignationList
- dimDesignationMode: string
指定可能な値:
[ "DIM_DESIGNATION_MODE_ATTRIBS_AS_MULTILEVEL_DIMS", "DIM_DESIGNATION_MODE_ATTRIBS_AS_FLAT_DIMS", "DIM_DESIGNATION_MODE_ALL_FLAT", "DIM_DESIGNATION_MODE_OAV", "DIM_DESIGNATION_MODE_OAV_DIM", "DIM_DESIGNATION_MODE_OAV_SNOWFLAKE_DIM", "CONVERT_TO_CSV", "DIM_DESIGNATION_MODE_ATTRIBS_AS_ATTRIBS" ]
- excelRowCount: integer(int32)
- excelSheetName: string
- fastAnalysis: boolean
- file: string
- maxDate: string(date-time)
- measureDimensionName: string
- minDate: string(date-time)
- namingPriority: string
指定可能な値:
[ "NONE", "GENERATIONS", "DIMENSIONS" ]
- nr: integer(int32)
- nrh: integer(int32)
- query: string
- tableName: string
object
ランタイム代替変数の詳細。
- allowMissing: boolean
データが存在しないデータ・セルを許可する場合はtrueを、抑制する場合はfalseに設定します。
- description: string
- dimension: string
この変数が情報を取得するディメンションの名前。type = MEMBERの場合のみサポートされます。
- limit: string
- name: string
ランタイム代替変数の名前。
- singleChoice: boolean
ランタイム代替変数に渡すことができるコンテキスト・メンバー選択肢が1つのみの場合は、trueに設定します。グリッドまたはPOVに単一のメンバーがある場合、そのメンバーが使用されます。ディメンションがPOVにある場合、アクティブ・メンバーが使用されます。ディメンションがPOVにあり、複数のメンバーがある場合、エラーが発生します。
グリッドまたはPOVのすべてのディメンション・メンバーが含まれている場合は、falseに設定します。
- type: string
指定可能な値:
[ "STRING", "NUMBER", "DATE", "MEMBER" ]
変数がメンバー、文字列または番号のどちらに対するものであるかを指定します。
- value: object value
ランタイム代替変数のデフォルト値。RTSV値には、文字列、定数、メンバー名またはメンバーの組合せを指定できます。
RTSVがSmart Viewで実行される計算用に設計されている場合、その値を定数
POV
に設定して、スプレッドシート・グリッドに存在する現在のデータ・スライスのみが計算されるようにする必要があります。
object
ランタイム代替変数のデフォルト値。RTSV値には、文字列、定数、メンバー名またはメンバーの組合せを指定できます。
RTSVがSmart Viewで実行される計算用に設計されている場合、その値を定数POV
に設定して、スプレッドシート・グリッドに存在する現在のデータ・スライスのみが計算されるようにする必要があります。
object
- attNames: array attNames
- attribute: array attribute
- colNames: array colNames
- columnTypes: array columnTypes
- dimGenColumns: array dimGenColumns
- dimJoin: string
- dimName: string
- essbaseConnection: string
- fkcolumnNumber: integer(int32)
- genNames: array genNames
- headerText: array headerText
- parentColumnId: integer(int32)
- query: string
- uniqCount: array uniqCount
array
- 配列: string
指定可能な値:
[ "TEXT", "INTEGER", "FLOAT", "TIME", "DATE", "BOOLEAN", "EMPTY", "UNKNOWN", "OUT_OF_RANGE" ]
レスポンス
- application/json
200 レスポンス
OK
ジョブが正常に開始されました。レスポンスでジョブ情報が返されました。
object
- appName: string
アプリケーション名。
- dbName: string
キューブ名。
- endTime: integer(int64)
ジョブの終了時間。
- job_ID: integer(int64)
ジョブのID番号。
- jobfileName: string
ジョブに使用されるスクリプト・ファイル。
- jobInputInfo: object jobInputInfo
使用可能なその他のプロパティ: additionalProperties
- jobOutputInfo: object jobOutputInfo
使用可能なその他のプロパティ: additionalProperties
- jobType: string
ジョブのタイプ。たとえば、
dataload
、dimbuild
、calc
、clear
、importExcel
、exportExcel
、lcmExport
、lcmImport
、clearAggregation
、buildAggregation
、asoBufferDataLoad
、asoBufferCommit
、exportData
、mdxScript
です。 - links: array links
- startTime: integer(int64)
ジョブの開始時間。
- statusCode: integer(int32)
進行状況を示すジョブ・ステータス・コード。各コードには、対応するstatusMessageがあります。
statusCode statusMessage 100 IN_PROGRESS 200 COMPLETED 300 COMPLETED_WITH_WARNINGS 400 FAILED - statusMessage: string
進行状況を示すジョブ・ステータス・メッセージ文字列。各文字列には、対応するstatusCodeがあります。
statusCode statusMessage 100 IN_PROGRESS 200 COMPLETED 300 COMPLETED_WITH_WARNINGS 400 FAILED - userName: string
ジョブを実行したユーザー。ユーザーは、割り当てられているユーザー役割に基づいてジョブ・リストにアクセスできます。たとえば、サービス管理者役割がある場合は、すべてのジョブを表示できます。ユーザー役割がある場合は、自分が実行したジョブのみを表示できます。
object
object
400 レスポンス
不正なリクエスト
アプリケーションが存在しないか、アプリケーション・パラメータが正しくない可能性があります。または、データベースが存在しないか、データベース・パラメータが正しくない可能性があります。または、null引数が渡された可能性があります。
500 レスポンス
サーバーの内部エラーです。
503 レスポンス
使用できないサービス
ネーミング例外またはサーバー例外。
例
次の例では、Essbaseジョブを実行する方法を示します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
実行できるジョブ:
- データのロード
- ディメンションの構築
- 計算の実行
- データのクリア
- アプリケーション・ワークブックからのキューブのインポート
- アプリケーション・ワークブックへのキューブのエクスポート
- LCMを使用したキューブのバックアップ
- LCMを使用したキューブのリストア
- 集約の構築
- 集約のクリア
- データのエクスポート
- MDXスクリプトの実行
データのロード
次のcURLの例では、データ・ロード・ジョブを実行する方法を示します。少なくともデータベース更新権限が必要です。
集約ストレージ・データ・ロード・バッファを使用してデータをロードする場合は、「バッファの作成」のエンドポイントの例を参照してください。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./dataload.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、dataload.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "dataload",
"parameters":
{ "file": "Data_Basic.txt",
"abortOnError": "true" }
}
ノート:
データ・ロードまたはディメンション構築のソース・ファイルがEssbaseファイル・カタログのキューブ・ディレクトリ以外の場所(ユーザー・ディレクトリや共有ディレクトリなど)にある場合は、ファイル名の先頭にcatalog/directory_name/
を付けます。たとえば、"catalog/shared/dataload.txt"
です。許可されるインポート・ディレクトリの詳細は、カタログ・パス内のファイルの指定を参照してください。
レスポンス本体の例
{
"job_ID": 1346,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Data Load",
"jobfileName": null,
"userName": "admin",
"startTime": 1574456694000,
"endTime": 1574456694000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"dataFileName": "Data_Basic.txt",
"abortOnError": true,
"useConnection": false
},
"jobOutputInfo": {
"recordsProcessed": 0,
"recordsRejected": 0,
"errorMessage": ""
},
"links": [ ]
}
ディメンションの構築
次のcURLの例では、ディメンション構築ジョブを実行する方法を示します。少なくともデータベース・マネージャ権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./dimbuild.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、dimbuild.json
で次のJSONペイロードが提供されます。
{
"application": "ASOSamp",
"db": "Basic",
"jobtype": "dimbuild",
"parameters":
{ "file": "Dim_Products.txt",
"rule": "Products.rul" }
}
ノート:
データ・ロードまたはディメンション構築のソース・ファイルがEssbaseファイル・カタログのキューブ・ディレクトリ以外の場所(ユーザー・ディレクトリや共有ディレクトリなど)にある場合は、ファイル名の先頭にcatalog/directory_name/
を付けます。たとえば、"catalog/shared/dataload.txt"
です。許可されるインポート・ディレクトリの詳細は、カタログ・パス内のファイルの指定を参照してください。
レスポンス本体の例
{
"job_ID": 4,
"appName": "ASOSamp",
"dbName": "Basic",
"jobType": "Dimension Build",
"jobfileName": "Products",
"userName": "power1",
"startTime": 1574814746000,
"endTime": 1574814746000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"rulesFileName": "Products",
"dataFileName": "Dim_Products.txt",
"useConnection": false,
"restructureOption": 1,
"forceDimBuild": false
},
"jobOutputInfo": {
"recordsProcessed": 0,
"recordsRejected": 0,
"errorMessage": ""
},
"links": [ ]
}
計算の実行
次のcURLの例では、計算スクリプトを実行する方法を示します。少なくとも、データベース更新権限があり、計算スクリプトへのアクセスがプロビジョニングされている必要があります。前提条件: スクリプトを.cscファイルとしてキューブ・ディレクトリにアップロードします。
call properties.batcurl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./calc.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、calc.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "calc",
"parameters":
{ "file": "CalcAll.csc" }
}
レスポンス本体の例
{
"job_ID": 1434,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Calc Execution",
"jobfileName": null,
"userName": "admin",
"startTime": 1574733981000,
"endTime": 1574733981000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
データのクリア
次のcURLの例では、キューブ・データをクリアするジョブの実行方法を示します。少なくともデータベース更新権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./cleardata.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、cleardata.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "clear",
"parameters":
{
"option": "PARTIAL_DATA",
"partialDataExpression": "{Feb}"
}
}
レスポンス本体の例
{
"job_ID": 116,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Clear Data",
"jobfileName": null,
"userName": "dbupdater",
"startTime": 1598329480000,
"endTime": 1598329480000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"clearDataOption": "PARTIAL_DATA"
},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
アプリケーション・ワークブックからのキューブのインポート
次のcURLの例では、Excelアプリケーション・ワークブックからキューブをインポートするジョブの実行方法を示します。少なくとも、パワー・ユーザー役割、またはアプリケーション・マネージャ権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./importExcel.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、importExcel.json
で次のJSONペイロードが提供されます。
{
"application": "ASOSamp",
"db": "Basic",
"jobtype": "importExcel",
"parameters":
{
"loaddata": "false",
"overwrite": "true",
"deleteExcelOnSuccess": "false",
"catalogExcelPath": "/gallery/Applications/Demo Samples/Aggregate Storage/",
"importExcelFileName": "ASO_Sample.xlsx",
"recreateApplication": "true",
"createFiles": "true"
}
}
レスポンス本体の例
{
"job_ID": 2,
"appName": "ASOSamp",
"dbName": "Basic",
"jobType": "Import Excel",
"jobfileName": "ASO_Sample.xlsx",
"userName": "power1",
"startTime": 1574810127000,
"endTime": 1574810127000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"catalogExcelPath": "/gallery/Applications/Demo Samples/Aggregate Storage/",
"importExcelFileName": "ASO_Sample.xlsx",
"isLoadData": false,
"recreateApplication": true,
"isCreateFiles": true,
"isExecuteScript": false
},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
アプリケーション・ワークブックへのキューブのエクスポート
次のcURLの例では、Excelアプリケーション・ワークブックにキューブをエクスポートするジョブの実行方法を示します。少なくともデータベース・マネージャ権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./exportExcel.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、exportExcel.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "exportExcel",
"parameters":
{
"dataLevel": "ALL_DATA",
"columnFormat": "false",
"compress": "false"
}
}
レスポンス本体の例
{
"job_ID": 10,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Export Excel",
"jobfileName": null,
"userName": "admin",
"startTime": 1575413474000,
"endTime": 1575413474000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"calc": false,
"data": false
},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
ジョブの取得{id}からのレスポンスの例
次のcurlコマンドは、ジョブ・ステータスをチェックします。
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/jobs/10" -H "accept: application/json" -u %User%:%Password%
次のレスポンスが返されます。ステータスはCompletedで、ExcelファイルはEssbaseファイル・カタログのmetadataFileで指定されたディレクトリに保存されます。
{
"job_ID": 10,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Export Excel",
"jobfileName": null,
"userName": "admin",
"startTime": 1575413474000,
"endTime": 1575413490000,
"statusCode": 200,
"statusMessage": "Completed",
"jobInputInfo": {
"calc": false,
"data": false
},
"jobOutputInfo": {
"errorMessage": "",
"metadataFile": "/applications/Sample/Basic/Basic.xlsx"
},
"links": [
{
"rel": "self",
"href": "https://myserver.example.com:9001/essbase/rest/v1/jobs/10",
"method": "GET"
},
{
"rel": "post",
"href": "https://myserver.example.com:9001/essbase/rest/v1/jobs/10",
"method": "POST"
}
]
}
LCMエクスポートを使用したアプリケーションのバックアップ
次のcURLの例では、ライフサイクル管理(LCM) .zipファイルにキューブ・アーティファクトをバックアップするジョブの実行方法を示します。少なくともアプリケーション・マネージャ権限が必要です。
LCMユーティリティをEssbaseマシン上で実行する必要があるのに対して、このジョブ・タイプは、Essbaseマシンの外部から実行できます。
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./lcmExport.json" -u %User%:%Password%
サンプルのJSONペイロード -- すべてのアプリケーションのバックアップ
lcmExport.json
でREST APIに渡される次のサンプルのJSONペイロードは、すべてのアプリケーションを一度にバックアップする例を示しています。必須パラメータは、jobtype、allAppおよびzipFileNameです。
{
"jobtype": "lcmExport",
"parameters":
{
"allApp": "true",
"generateartifactlist": "false",
"include-server-level": "false",
"zipFileName": "exportedApps.zip",
"skipdata": "true"
}
}
レスポンス本体の例 -- すべてのアプリケーションのバックアップ
このREST APIでは次のレスポンスが返され、ジョブが完了すると、Essbaseファイル・カタログの発行ユーザーのディレクトリにzipファイルが保存されます。
{
"job_ID" : 73,
"appName" : null,
"dbName" : null,
"jobType" : "LCM Export",
"jobfileName" : "exportedApps.zip",
"userName" : "appmanager",
"startTime" : 1660755176000,
"endTime" : 1660755176000,
"statusCode" : 100,
"statusMessage" : "In Progress",
"jobInputInfo" : {
"lcmExportFileName" : "exportedApps.zip",
"skipdata" : true,
"copyToStorage" : false,
"threads" : 10,
"include-server-level" : false,
"generateArtifactList" : false,
"filesystemcopy" : false,
"disasterRecovery" : false,
"verbose" : false,
"allApp" : true,
"exportdata" : false,
"exportpartitions" : false,
"exportfilters" : false
},
"jobOutputInfo" : {
"errorMessage" : "",
"infoMessage" : ""
},
"links" : [ ]
}
サンプルのJSONペイロード -- 1つのアプリケーションのバックアップ
lcmExport.json
でREST APIに渡される次のサンプルのJSONペイロードは、1つのアプリケーションのみをバックアップする例を示しています。必須パラメータは、application、jobtypeおよびzipFileNameです。
{
"application": "Sample",
"jobtype": "lcmExport",
"parameters":
{
"zipFileName": "Sample1.zip",
"skipdata": "true",
"include-server-level": "false"
}
}
レスポンス本体の例 -- 1つのアプリケーションのバックアップ
このREST APIでは次のレスポンスが返されます。
{
"job_ID": 11,
"appName": "Sample",
"dbName": null,
"jobType": "LCM Export",
"jobfileName": "Sample1.zip",
"userName": "appmanager",
"startTime": 1575424208000,
"endTime": 1575424208000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"lcmExportFileName": "Sample1.zip",
"skipdata": true,
"copyToStorage": false,
"threads": 10,
"include-server-level": false,
"generateArtifactList": false,
"filesystemcopy": false,
"disasterRecovery": false,
"verbose": false,
"allApp" : false,
"exportdata" : false,
"exportpartitions" : false,
"exportfilters" : false
},
"jobOutputInfo": {
"errorMessage": "",
"infoMessage": ""
},
"links": [ ]
}
ジョブの取得{id}からのレスポンスの例
次のcurlコマンドは、ジョブ・ステータスをチェックします。
curl -X GET "https://myserver.example.com:9001/essbase/rest/v1/jobs/11" -H "accept: application/json" -u %User%:%Password%
次のレスポンスが返されます。ステータスはCompletedで、zipファイルはEssbaseファイル・カタログのlcmExportFilePathで指定されたディレクトリに保存されます。
{
"job_ID": 11,
"appName": "Sample",
"dbName": null,
"jobType": "LCM Export",
"jobfileName": "Sample1.zip",
"userName": "appmanager",
"startTime": 1575424208000,
"endTime": 1575424228000,
"statusCode": 200,
"statusMessage": "Completed",
"jobInputInfo": {
"lcmExportFileName": "Sample1.zip",
"skipdata": true,
"copyToStorage": false,
"threads": 10,
"include-server-level": false,
"generateArtifactList": false,
"filesystemcopy": false,
"disasterRecovery": false,
"verbose": false,
"allApp" : false,
"exportdata" : false,
"exportpartitions" : false,
"exportfilters" : false
},
"jobOutputInfo": {
"errorMessage": "",
"infoMessage": "",
"lcmExportFilePath": "/users/appmanager/Sample1.zip"
},
"links": [
{
"rel": "self",
"href": "https://myserver.example.com:9001/essbase/rest/v1/jobs/11",
"method": "GET"
},
{
"rel": "post",
"href": "https://myserver.example.com:9001/essbase/rest/v1/jobs/11",
"method": "POST"
}
]
}
LCMインポートを使用したキューブのリストア
次のcURLの例では、ライフサイクル管理(LCM) .zipファイルからキューブ・アーティファクトをリストアするジョブの実行方法を示します。これを実行するには、そのアプリケーションを作成したパワー・ユーザーであるか、サービス管理者である必要があります。
LCMユーティリティをEssbaseマシン上で実行する必要があるのに対して、このジョブ・タイプは、Essbaseマシンの外部から実行できます。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./lcmImport.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、lcmImport.json
で次のJSONペイロードが提供されます。
{
"jobtype": "lcmImport",
"parameters":
{
"zipFileName": "Sample1.zip",
"include-server-level": "false",
"targetApplicationName": "Sample_dup",
"overwrite": "true"
}
}
レスポンス本体の例
{
"job_ID": 12,
"appName": null,
"dbName": null,
"jobType": "LCM Import",
"jobfileName": "Sample1.zip",
"userName": "admin",
"startTime": 1575425649000,
"endTime": 1575425649000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"lcmImportFileName": "Sample1.zip",
"lcmImportTargetApplicationName": "Sample_dup",
"lcmImportFromStorage": false,
"overwrite": true,
"include-server-level": false,
"verbose": false,
"useCatalogPath" : false
},
"jobOutputInfo": {
"errorMessage": "",
"infoMessage": ""
},
"links": [ ]
}
集約の構築
次のcURLの例では、集約を構築するジョブの実行方法を示します。少なくともデータベース・アクセス権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./buildagg.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、buildagg.json
で次のJSONペイロードが提供されます。
{
"application": "ASOSamp",
"db": "Basic",
"jobtype": "buildAggregation",
"parameters":
{
"ratioToStop": "1.1",
"basedOnQueryData": "false",
"enableAlternateRollups": "false"
}
}
集約は集約ストレージ・キューブのみに適用されます。集約とは、アウトライン階層に基づく、集約ストレージ・キューブ内のレベル0データ値の連結です。集約という用語は、集約プロセス、およびそのプロセスの結果として保管された値のセットを指すために使用されます。
集約には、1つ以上の集約ビューが含まれています。集約ビューは、集約セルの集合です。集約を構築すると、Essbaseによって、ロール・アップする集約ビューが選択され、それらが集約され、選択されたビューにセル値が保管されます。データ・ロードの間に変更されるレベル0値に依存する集約セルが集約に含まれている場合は、それより上位レベルの値がデータ・ロード・プロセスの最後に自動的に更新されます。
集約を構築すると、Essbaseによって
- 停止値(ratioToStop)または問合せパターン(basedOnQueryData)、またはその両方に基づいて0個以上の集約ビューが選択されます。これらのパラメータを指定した場合は、
- 選択されたビューが構築されます。
ノート: MaxLでこのジョブ・タイプに相当するのは、execute aggregate process文です。
レスポンス本体の例
{
"job_ID": 8,
"appName": "ASOSamp",
"dbName": "Basic",
"jobType": "Build Aggregation",
"jobfileName": null,
"userName": "dbaccess",
"startTime": 1575411748000,
"endTime": 1575411748000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"enableAlternateRollups": false,
"basedOnQueryData": false,
"ratioToStop": 1.1
},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
集約のクリア
次のcURLの例では、集約ストレージ・キューブ上の集約をクリアするジョブの実行方法を示します。
call properties.batcurl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./clearagg.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、clearagg.json
で次のJSONペイロードが提供されます。
{
"application": "ASOSamp",
"db": "Basic",
"jobtype": "clearAggregation"
}
レスポンス本体の例
{
"job_ID": 9,
"appName": "ASOSamp",
"dbName": "Basic",
"jobType": "Clear Aggregation",
"jobfileName": null,
"userName": "dbaccess",
"startTime": 1575412855000,
"endTime": 1575412855000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
データのエクスポート
次のcURLの例では、キューブからデータをエクスポートする方法を示します。少なくともデータベース・マネージャ権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./dataexport.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、dataexport.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "exportData",
"parameters":
{
"compress": "false",
"columnFormat": "false",
"dataLevel": "LEVEL_ZERO_BLOCKS"
}
}
レスポンス本体の例
{
"job_ID": 28,
"appName": "Sample",
"dbName": "Basic",
"jobType": "Export Data",
"jobfileName": null,
"userName": "dbmanager",
"startTime": 1575920712000,
"endTime": 1575920712000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {
"compress": false,
"columnFormat": false,
"dataLevel": "LEVEL_ZERO_BLOCKS"
},
"jobOutputInfo": {
"scriptOutputFileName": "",
"scriptOutputFileNamePath": "",
"infoMessage": "",
"errorMessage": ""
},
"links": [ ]
}
MDXスクリプトの実行
次のcURLの例では、挿入またはエクスポートを実行するMDXスクリプトの実行方法を示します。少なくともデータベース・アクセス権限が必要です。
call properties.bat
curl -X POST "https://myserver.example.com:9001/essbase/rest/v1/jobs?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./mdxScript.json" -u %User%:%Password%
サンプルのJSONペイロード
前述のcURLの例では、mdxScript.json
で次のJSONペイロードが提供されます。
{
"application": "Sample",
"db": "Basic",
"jobtype": "mdxScript",
"parameters":
{
"file": "share/mdx_scripts/export_examp.mdx"
}
}
export_examp.mdx
は、キューブ・ディレクトリにエクスポート・ファイルを作成するMDXスクリプトです。MDXスクリプトの内容は次のとおりです。
EXPORT INTO FILE "example" OVERWRITE USING COLUMNDELIMITER "#~"
SELECT
{[Mar],[Apr]} ON COLUMNS,
Crossjoin({[100],[200]} , crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]})) ON ROWS
FROM [Sample].[Basic]
WHERE ([New York])
レスポンス本体の例
{
"job_ID": 26,
"appName": "Sample",
"dbName": "Basic",
"jobType": "MDX Script",
"jobfileName": null,
"userName": "dbaccess",
"startTime": 1575918425000,
"endTime": 1575918425000,
"statusCode": 100,
"statusMessage": "In Progress",
"jobInputInfo": {},
"jobOutputInfo": {
"errorMessage": ""
},
"links": [ ]
}
また、MDXスクリプトは、結果をSample Basicキューブ・ディレクトリのexample.txt
に書き込みます。結果ファイルには次のデータが含まれます。
Product#~Scenario#~Measures#~Mar#~Apr
Colas#~Actual#~Opening Inventory#~2041#~2108
Colas#~Actual#~Ending Inventory#~2108#~2250
Colas#~Budget#~Opening Inventory#~1980#~2040
Colas#~Budget#~Ending Inventory#~2040#~2170
Root Beer#~Actual#~Opening Inventory#~2378#~2644
Root Beer#~Actual#~Ending Inventory#~2644#~2944
Root Beer#~Budget#~Opening Inventory#~2220#~2450
Root Beer#~Budget#~Ending Inventory#~2450#~2710