ストリーミング・ディメンション構築の開始
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/dimbuild
増分ディメンション構築を開始し、メタデータをEssbaseアウトラインにプッシュします。この呼出しにより、後続する次の順序の呼出しによって使用される一意のストリームIDが生成されます。
リクエスト
- application/json
- application/xml
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース名。
再構築オプションなどのディメンション構築属性。空の場合、再構築オプションのデフォルト値はPRESERVE_ALL_DATA
となります。
object
- restructureOption: string
指定可能な値:
[ "PRESERVE_ALL_DATA", "PRESERVE_LEAFLEVEL_DATA", "PRESERVE_INPUT_DATA", "PRESERVE_NO_DATA" ]
再構築オプション。既存のすべてのデータを保持するにはPRESERVE_ALL_DATA (これがデフォルト)、既存のすべてのデータを破棄するにはPRESERVE_NO_DATA、既存のレベル0ブロックを保持するにはPRESERVE_LEAFLEVEL_DATA (ブロック・ストレージにのみ適用可能)、入力レベルの既存のブロックを保持するにはPRESERVE_INPUT_DATA (ブロック・ストレージにのみ適用可能)。
レスポンス
- application/json
- application/xml
200 レスポンス
OK
ディメンションの構築が正常に開始されました。後続のリクエストに渡される可能性がある一意のストリームIDが含まれます。links=true
パラメータが渡された場合は、ルール・ファイルを使用したディメンション構築を開始するためのリンクも含まれます。
400 レスポンス
不正なリクエスト
ログインしているユーザーに、適切なアプリケーション役割がない可能性があります。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、Essbaseキューブ・アウトラインへのストリーミング・ディメンション構築を実行する方法を示します。「ストリーミング・ディメンション構築の開始」呼出しにより、ワークフロー内の後続の呼出しで使用されるストリームIDが生成されます。そのため、呼出しは同じHTTPセッションで発行される必要があります。REST APIはステートレスであるため、Cookieを使用して呼出し間で情報を渡す必要があります。この例では、Cookieをその次の呼出しに渡す必要がある呼出しごとに、--cookie-jar
(または-c
)オプションを使用して、Cookieを格納します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
ストリーミング・ディメンション構築の開始
cURL文で増分ディメンション構築プロセスを開始します。
call properties.bat
curl --cookie-jar cookies.txt -X POST "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild?links=none" -H Accept:application/json -H Content-Type:application/json -d '{"ruleFileName": "Dim_Market"}' -u %User%:%Password%
レスポンス
JSONレスポンスに一意のストリームIDが含まれます。
{
"streamId" : "346850608"
}
ディメンション構築の開始
cURL文で最初の呼出しのストリームIDを使用して、増分ディメンション構築用にルール・ファイルを割り当てます。
call properties.bat
curl -b cookies.txt -c cookies.txt -X POST "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608/Dim_Market" -H Accept:application/json -H Content-Type:application/json -u %User%:%Password%
レスポンス
{
"links" : [ {
"rel" : "pushData",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608",
"method" : "POST"
} ]
}
ディメンションのプッシュ
cURL文で最初の呼出しのストリームIDを使用して、カンマ区切りデータをプッシュし、キューブ・アウトライン内にディメンションを構築します。
call properties.bat
curl -b cookies.txt -c cookies.txt -X POST "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608" -H Content-Type:text/plain --data-binary "@./Dim_Market.txt" -u %User%:%Password%
レスポンス
{
"links" : [ {
"rel" : "pushData",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608",
"method" : "POST"
}, {
"rel" : "endDimensionBuild",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608/Dim_Market",
"method" : "DELETE"
} ]
}
ディメンション構築の終了
cURL文で最初の呼出しのストリームIDを使用して、ルール・ファイルの割当を解除し、ディメンション構築を終了します。
call properties.bat
curl -b cookies.txt -c cookies.txt -X DELETE "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608/Dim_Market" -H Accept:application/json -H Content-Type:application/json -u %User%:%Password%
レスポンス
{
"status" : "Dimension build completed successfully",
"links" : [ {
"rel" : "restructureCube",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608",
"method" : "DELETE"
} ]
}
ストリーミング・ディメンション構築の終了
cURL文でストリームIDを使用して、増分ディメンション構築プロセスを終了し、アウトライン再構築をトリガーします。
call properties.bat
curl -b cookies.txt -c cookies.txt -X DELETE "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dimbuild/346850608" -H Accept:application/json -H Content-Type:application/json -u %User%:%Password%
レスポンス
{
"status" : "Cube restructure completed successfully"
}