ジョブの実行

post

/essbase/rest/v1/jobs

ジョブを実行し、現在のジョブのID、ステータス、入力および出力など、ジョブ情報を含むレコードを返します。

リクエスト

サポートされているメディア・タイプ
本体()

リクエスト本体でJSON文字列として提供されたパラメータ。

ルート・スキーマ : JobsInputBean
型: object
ソースの表示
ネストされたスキーマ : ParametersBean
型: object
ソースの表示
  • trueの場合、データ・ロードは最初のエラーで停止します。それ以外の場合、データ・ロードは続行されます。

  • 指定可能な値: [ "COMMIT", "ABORT" ]

    ロード・バッファのコミット中にエラーが発生した場合の対処方法を指定する整数またはキーワード。COMMITまたは1 - コミットしますABORTまたは2 - 操作を終了します

  • LCMImportジョブ・タイプの場合。使用するアーティファクト・リストの名前(LCMExportジョブでgenerateArtifactListがtrueの場合のみ有効)。

  • buildAggregationジョブ・タイプの場合。trueの場合は、Essbaseで選択されたビューを、収集したユーザー問合せパターンに基づいて集約します。このオプションは、問合せトラッキングがオンになっている場合にのみ使用可能です。

  • 単一の集約ストレージ・データ・ロード・バッファの一意のID。1から4294967296の間の数値である必要があります。このオプションかbufferIdsオプションのいずれかを使用しますが、両方は使用できません。

  • bufferIds

    一意の集約ストレージ・データ・ロード・バッファIDの配列。複数のバッファをコミットする場合は、このオプションを使用します。

  • exportExcelジョブ・タイプの場合。有効な構築方法は、PARENT-CHILD (推奨される方法)およびGENERATIONです。

  • importExcelジョブ・タイプの場合。アプリケーションがワークブックからすでに構築されている場合は、そのワークブックからさらにインポートを実行することで、それを更新し続けることができます。ワークブックから再度インポートするときには、増分更新オプションであるNONE、RETAIN_ALL_DATAまたはREMOVE_ALL_DATAを使用できます。

  • exportExcelジョブ・タイプの場合。trueの場合は、エクスポートに計算スクリプトを含めます。

  • importExcelジョブ・タイプの場合。ファイル・カタログ内のアプリケーション・ワークブックへのパス。ファイル名を指定するには、importExcelFileNameを使用します。

  • exportExcelまたはexportDataジョブ・タイプの場合。trueの場合は、キューブを表形式でエクスポートします。それ以外の場合は、アプリケーション・ワークブックとしてエクスポートします。エクスポートされた表形式データでは、データおよびメタデータがヘッダー付きの列に編成されており、それらはEssbaseで新しいキューブをデプロイするために使用できます。エクスポートされた表形式データに含まれる情報は、アプリケーション・ワークブックの場合よりも少なくなります。

  • 集約ストレージ・データ・ロード・バッファのコミット・オプションを説明する整数またはキーワード。データ・ロード・バッファのコンテンツをキューブにコミットするときに、既存の値に追加するか、既存の値から抽出するか、既存の値を上書きするかを指定します。

    • STORE_DATA (0) - ロード・バッファにデータを保存します
    • ADD_DATA (1) - ロード・バッファの値を、格納された既存のデータ値に追加します
    • SUBTRACT_DATA (2) - 格納された既存のデータ値からロード・バッファの値を減算します
    • OVERRIDE_ALL_DATA (3) - キューブから現在のデータ値を削除し、データ・ロード・バッファ内の値で置き換えます。
    • OVERRIDE_INCREMENTAL_DATA (4) - キューブ内のすべての増分データ・スライスの現在のコンテンツを削除し、指定されたデータ・ロード・バッファのコンテンツを持つ新しいデータ・スライスを作成します。新しいデータは、データ・ロード・プロパティadd values (aggregate_sum)を使用して作成されます。新しいデータとプライマリ・スライスの間に重複セルがある場合にそれらに問い合せると、値は加算されます。
    .
  • exportExcelまたはexportDataジョブ・タイプの場合。trueの場合は、データを圧縮します。

  • dimbuildまたはdataloadジョブ・タイプで、useConnectiontrueの場合。保存されている接続の名前。

  • LCMExportジョブ・タイプの場合。trueの場合は、バックアップのコピーがサーバー・ストレージに保存されます。

  • importExcelジョブ・タイプの場合。trueの場合は、キューブ・ディレクトリにキューブ・アーティファクトを作成します。

  • exportExcelジョブ・タイプの場合。trueの場合は、エクスポートにデータを含めます。

  • exportExcelまたはexportDataジョブ・タイプの場合。エクスポートするデータの量を示す定数。数値または対応する文字列値を渡すことができます。0=ALL_DATA、1=UPPER_LEVEL_BLOCKS、2=NON_INPUT_BLOCKS、3=LEVEL_ZERO_BLOCKS、4=INPUT_LEVEL_DATA_BLOCKS

  • buildAggregationジョブ・タイプの場合。trueの場合は、Essbaseでビュー選択にセカンダリ階層(別のロールアップ)が考慮されるようになります。

  • importExcelジョブ・タイプの場合。trueの場合は、計算スクリプトを実行します。アプリケーション・ワークブックに含まれている計算ワークシートの定義でExecute CalcがYesに設定されている場合のみ適用できます。

  • exportDataジョブ・タイプで、columnFormatがtrueの場合。表形式データのエクスポートに、動的に計算された疎メンバーを含めます。これらはデフォルトでは含まれません。

  • データ・ロードまたはディメンション構築のためのソース・ファイル。ファイルがEssbaseファイル・カタログのキューブ・ディレクトリ以外の場所(ユーザー・ディレクトリや共有ディレクトリなど)にある場合は、ファイル名の先頭にcatalog/directory_name/を付けます。たとえば、"file" : "catalog/shared/dataload.txt"です。

  • ディメンション構築の場合。trueの場合は、他のユーザー・アクティビティが進行中の場合でも、ディメンション構築を続行します。これにより、アクティブなユーザー・セッションが取り消されます。

  • LCMExportジョブ・タイプの場合。trueの場合は、エクスポートしたアーティファクトのテキスト・ファイル・リストを生成します。そのリストを使用してインポートを制御できます。たとえば、アーティファクトの順序を並べ替えてインポート順序を制御することや、リスト内のインポートするアイテムを列挙することができます。

  • シャドウ・アプリケーションを非表示にするにはtrueを指定し、それ以外の場合はfalseを指定します。

  • importExcelジョブ・タイプの場合。アプリケーション・ワークブックのファイル名。キューブ・ディレクトリ内にない場合は、catalogExcelPathを使用してパスを指定します。

  • LCMExportおよびLCMImportジョブ・タイプの場合。trueの場合は、グローバルに定義された接続およびデータソースをエクスポートまたはインポートの一部として含めます。

  • LCMImportジョブ・タイプの場合。trueの場合は、サーバー・ストレージに保存されているバックアップからインポートします。

  • importExcelジョブ・タイプの場合。trueの場合は、データをロードします(ワークブックにデータ・ワークシートが含まれている場合)。それ以外の場合は、メタデータのみがキューブにインポートされます。

  • データのクリア・ジョブの場合。クリア対象を指定するキーワード。省略された場合のデフォルト・オプションは、allDataです。ブロック・ストレージ・キューブの場合のオプション: allData ???すべてのデータ、リンクされているオブジェクト、およびアウトラインがクリアされます。upperLevel ???上位レベルのブロックがクリアされます。nonInput ???非入力ブロックがクリアされます。集約ストレージ・キューブ場合のオプション: allData ???すべてのデータ、リンクされたオブジェクト、およびアウトラインがクリアされます。allAggregations ???すべての集約済データがクリアされます。partialData ???指定されたリージョンのみがクリアされます(partialDataExpressionパラメータで指定されたMDXリージョン)。

  • LCMExportおよびLCMImportジョブ・タイプの場合。trueの場合は、既存のバックアップを上書きするか(LCMExportの場合)、既存のアプリケーションを上書きします(LCMImportの場合).

  • dimbuildまたはdataloadジョブ・タイプで、useConnectionfalseで、RDBMSに接続するルール・ファイルがジョブで使用される場合。RDBMSに接続できるユーザーのパスワード。

  • メインまたはベース(非シャドウ)アプリケーション名。

  • buildAggregationジョブ・タイプの場合。停止値。この値を使用して、キューブの集約前サイズに対する、集約ストレージ・キューブのマテリアライズ中に許可する成長サイズの率を指定します。(集約がマテリアライズされる前は、キューブには入力レベルのデータのみが含まれる。)たとえば、キューブのサイズが1 GBで、停止値が1.2の場合、結果となるデータのサイズが1 GBの20%(合計サイズは1.2 GB)を超えることはできません。停止値を指定しない場合は、このパラメータに0を入力します。

  • importExcelジョブ・タイプの場合。trueの場合は、アプリケーションを再作成します(すでに存在する場合)。

  • ディメンション構築の場合。キューブ内の既存データの保持オプション。PRESERVE_ALL_DATA: 既存のすべてのデータ・ブロックを保持します(ブロック・ストレージ・キューブおよび集約ストレージ・キューブで有効)。PRESERVE_NO_DATA: 既存のデータを破棄します(ブロック・ストレージ・キューブおよび集約ストレージ・キューブで有効)。PRESERVE_LEAFLEVEL_DATA: 既存のレベル0データを保持します(ブロック・ストレージのみ)。PRESERVE_INPUT_DATA: 入力レベルの既存のデータを保持します(ブロック・ストレージのみ)。

  • rtsv

    計算スクリプトに定義されたランタイム代替変数。

  • オプションのルール・ファイル(ジョブがデータ・ロードまたはディメンション構築の場合)。

  • 計算実行の場合。計算スクリプト名。.cscファイル拡張子が必要です。フル・パスを指定する必要はありません。ファイルは関連キューブ・ディレクトリにあると見なされます。

  • selectedDimensions
  • シャドウ(コピーした)アプリケーションの名前。

  • LCMExportジョブ・タイプの場合。trueの場合は、バックアップにデータを含めません。

  • LCMImportジョブ・タイプの場合。アプリケーション名がエクスポート前またはバックアップ前と異なる場合に、オプションで、インポート後またはリストア後のアプリケーション名を指定します。

  • 指定可能な値: [ "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セルの非常に小さなデータ・ロード(たとえば、グリッド・クライアントのデータ更新操作)のみを対象としています。
  • アプリケーションによって実行されたリクエストが進行中である場合にそのアプリケーションを強制的にアンロードおよび停止するまでの時間間隔(秒単位)。正常なアンロード・プロセスが失敗するか、その実行時間がこのタイムアウトで許可されている時間よりも長くなると、Essbaseによってアプリケーションが強制終了されます。

  • CompactDesignation
  • dimbuildまたはdataloadジョブ・タイプの場合。trueの場合は、保存済接続を使用する必要があると指定します(接続名を示すconnectionパラメータも渡す必要があります)。falseの場合、RDBMSに接続するルール・ファイルがジョブで使用されるときは、RDBMS.useConnectionに接続するユーザーの名前とパスワードを指定する必要があります

  • dimbuildまたはdataloadジョブ・タイプで、useConnectionfalseで、RDBMSに接続するルール・ファイルがジョブで使用される場合。RDBMSに接続できるユーザーの名前。

  • アクティブな書込み操作が完了するまでの待機期間(秒単位)。

  • LCMExportおよびLCMImportジョブ・タイプの場合。バックアップ・ファイルを含む圧縮ファイルの名前。

ネストされたスキーマ : bufferIds
型: array

一意の集約ストレージ・データ・ロード・バッファIDの配列。複数のバッファをコミットする場合は、このオプションを使用します。

ソースの表示
ネストされたスキーマ : rtsv
型: array

計算スクリプトに定義されたランタイム代替変数。

ソースの表示
ネストされたスキーマ : selectedDimensions
型: array
ソースの表示
ネストされたスキーマ : CompactDesignation
型: object
ソースの表示
ネストされたスキーマ : RTSV
型: object

ランタイム代替変数の詳細。

ソースの表示
  • データが存在しないデータ・セルを許可する場合はtrueを、抑制する場合はfalseに設定します。

  • この変数が情報を取得するディメンションの名前。type = MEMBERの場合のみサポートされます。

  • ランタイム代替変数の名前。

  • ランタイム代替変数に渡すことができるコンテキスト・メンバー選択肢が1つのみの場合は、trueに設定します。グリッドまたはPOVに単一のメンバーがある場合、そのメンバーが使用されます。ディメンションがPOVにある場合、アクティブ・メンバーが使用されます。ディメンションがPOVにあり、複数のメンバーがある場合、エラーが発生します。

    グリッドまたはPOVのすべてのディメンション・メンバーが含まれている場合は、falseに設定します。

  • 指定可能な値: [ "STRING", "NUMBER", "DATE", "MEMBER" ]

    変数がメンバー、文字列または番号のどちらに対するものであるかを指定します。

  • value

    ランタイム代替変数のデフォルト値。RTSV値には、文字列、定数、メンバー名またはメンバーの組合せを指定できます。

    RTSVがSmart Viewで実行される計算用に設計されている場合、その値を定数POVに設定して、スプレッドシート・グリッドに存在する現在のデータ・スライスのみが計算されるようにする必要があります。

ネストされたスキーマ : value
型: object

ランタイム代替変数のデフォルト値。RTSV値には、文字列、定数、メンバー名またはメンバーの組合せを指定できます。

RTSVがSmart Viewで実行される計算用に設計されている場合、その値を定数POVに設定して、スプレッドシート・グリッドに存在する現在のデータ・スライスのみが計算されるようにする必要があります。

ネストされたスキーマ : compactDesignationColumn
型: array
ソースの表示
ネストされたスキーマ : dateDimensionLeaves
型: array
ソースの表示
ネストされたスキーマ : dimCompactDesignationList
型: array
ソースの表示
ネストされたスキーマ : CompactDesignationColumn
型: object
ソースの表示
ネストされたスキーマ : DimCompactDesignation
型: object
ソースの表示
ネストされたスキーマ : attNames
型: array
ソースの表示
ネストされたスキーマ : attribute
型: array
ソースの表示
ネストされたスキーマ : colNames
型: array
ソースの表示
ネストされたスキーマ : columnTypes
型: array
ソースの表示
  • 指定可能な値: [ "TEXT", "INTEGER", "FLOAT", "TIME", "DATE", "BOOLEAN", "EMPTY", "UNKNOWN", "OUT_OF_RANGE" ]
ネストされたスキーマ : dimGenColumns
型: array
ソースの表示
ネストされたスキーマ : genNames
型: array
ソースの表示
ネストされたスキーマ : headerText
型: array
ソースの表示
ネストされたスキーマ : uniqCount
型: array
ソースの表示
先頭に戻る

レスポンス

サポートされているメディア・タイプ

200 レスポンス

OK

ジョブが正常に開始されました。レスポンスでジョブ情報が返されました。

本体()
ルート・スキーマ : JobRecordBean
型: object
ソースの表示
ネストされたスキーマ : jobInputInfo
型: object
使用可能なその他のプロパティ
ソースの表示
ネストされたスキーマ : jobOutputInfo
型: object
使用可能なその他のプロパティ
ソースの表示
ネストされたスキーマ : additionalProperties
型: object
ネストされたスキーマ : additionalProperties
型: object

400 レスポンス

不正なリクエスト

アプリケーションが存在しないか、アプリケーション・パラメータが正しくない可能性があります。または、データベースが存在しないか、データベース・パラメータが正しくない可能性があります。または、null引数が渡された可能性があります。

500 レスポンス

サーバーの内部エラーです。

503 レスポンス

使用できないサービス

ネーミング例外またはサーバー例外。

先頭に戻る

次の例では、Essbaseジョブを実行する方法を示します。

この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat内でその変数値が設定されています。

実行できるジョブ:

データのロード

次の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ペイロードは、すべてのアプリケーションを一度にバックアップする例を示しています。必須パラメータは、jobtypeallAppおよび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つのアプリケーションのみをバックアップする例を示しています。必須パラメータは、applicationjobtypeおよび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
先頭に戻る