シャドウ・アプリケーションの作成

post

/essbase/rest/v1/applications/actions/shadowCopy

指定されたプライマリ・アプリケーションを読取り専用モードにし、そのプライマリ・アプリケーションからシャドウ・アプリケーション(完全コピー)を作成します。

シャドウ・アプリケーションを使用すると、シャドウ・アプリケーション上でキューブ変更およびアウトライン再構築を実行し、その一方で、プライマリ・アプリケーションで問合せなどの読取り専用の操作を扱うということができます。

必要な権限: パワー・ユーザー。

アプリケーションの規模によっては、アウトライン再構築には非常に時間がかかる可能性があるため、シャドウ・アプリケーションを使用すると便利です。

シャドウ・ソリューションを使用すると、再構築が原因の停止時間によって阻止されているユーザーをレポートするのではなく、再構築がシャドウ・アプリケーション上で起こっている間にそれらのユーザーがプライマリ・アプリケーションに対して各自の読取り専用問合せを続行できます。

シャドウ・アプリケーションはプライマリ・アプリケーションの非表示のコピーとして作成できるということを覚えておいてください。

これは、アプリケーションのリストを実行した場合に、そのリストにシャドウ・アプリケーションが含まれないということです。

パラメータwaitForOngoingUpdatesInSecsを使用すると、シャドウ・コピーを作成しようとしたときにこのアプリケーションのキューブに対して進行中の書込み操作があった場合の、コピー・プロセスの待機可能時間を制御できます。

たとえば、データ・ロードが進行中であった場合は、クローニング・プロセスは失敗します。

waitForOngoingUpdatesInSecsを60に設定した場合、Essbaseでは、クローニング・プロセスの開始前にデータ・ロードの完了を最大で1分待ちます。

この指定された待機間隔の間にデータ・ロードが完了しない場合は、Essbaseによってコピーは作成されず、クローニング・プロセスはエラーで失敗し、データ・ロードが続行されます。

関連項目

リクエスト

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

primaryAppName: クローニングするソース・アプリケーションの名前。

shadowAppName : ソースのコピーとなるコピー先アプリケーションまたはセカンダリ・アプリケーションの一意の名前。

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

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

runInBackground: 「シャドウ・コピー」をジョブとしてスケジュールするにはtrueを指定し、それ以外の場合はfalseを指定します。

ルート・スキーマ : ShadowCopyBean
型: object
ソースの表示
先頭に戻る

レスポンス

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

200 レスポンス

OK

シャドウ・アプリケーションが正常に作成されました。

400 レスポンス

不正なリクエスト

シャドウ・アプリケーションの作成に失敗しました。

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/applications/actions/shadowCopy -H  "accept: application/json" -H  "Content-Type: application/json" -d '{"primaryAppName": "Sample_Dynamic", "shadowAppName": "SDShadow", "hideShadow": true, "waitForOngoingUpdatesInSecs": 5, "runInBackground": true}' -u %User%:%Password%

レスポンス本体の例

{
  "job_ID": 3,
  "appName": null,
  "dbName": null,
  "jobType": "Shadow Copy",
  "jobfileName": "Sample_Dynamic",
  "userName": "power",
  "startTime": 1602544274000,
  "endTime": 1602544274000,
  "statusCode": 100,
  "statusMessage": "In Progress",
  "jobInputInfo": {
    "primaryAppName": "Sample_Dynamic",
    "shadowAppName": "SDShadow",
    "hideShadow": true,
    "waitForOngoingUpdatesInSecs": 5
  },
  "jobOutputInfo": {
    "errorMessage": ""
  },
  "links": [
    {
      "rel": "self",
      "href": "https://myserver.example.com:9001/essbase/rest/v1/jobs",
      "method": "POST"
    },
    {
      "rel": "canonical",
      "href": "https://myserver.example.com:9001/essbase/rest/v1/jobs",
      "method": "POST"
    },
    {
      "rel": "Job Status",
      "href": "https://myserver.example.com:9001/essbase/rest/v1/jobs/3",
      "method": "GET"
    }
  ]
}

非表示のアプリケーションを表示するには、「アプリケーション名のリスト」を使用します。

curl -X GET https://myserver.example.com:9001/essbase/rest/v1/applications/actions/name/HIDDEN -H "accept: application/json"
先頭に戻る