データ・ロードの開始
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/dataload
ストリーミング・データ・ロードを開始します。この呼出しにより、後続の呼出し(データのプッシュおよびデータ・ロードの終了)によって使用される一意のストリームIDが生成されます。
リクエスト
- application/json
- application/xml
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース名。
ルール・ファイルの名前やデリミタなどのデータ・ロード・オプション。
object
- delimiter: string
現在はストリーミング・データ・ロードのデリミタとしてカンマのみがサポートされています。
- ruleFileName: string
データ・ロードに使用するルール・ファイルの名前。ファイル拡張子は省略します。
レスポンス
- application/json
- application/xml
200 レスポンス
OK
データのロードが正常に開始されました。後続のリクエストに渡される可能性がある一意のストリームIDが含まれます。links=true
パラメータが渡された場合は、データをさらにプッシュするためとデータのロードを終了するためのリンクが含まれます。
400 レスポンス
不正なリクエスト
ログインしているユーザーに、適切なアプリケーション役割がない可能性があります。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、Essbaseキューブへのストリーミング・データ・ロードを実行する方法を示します。「データ・ロードの開始」呼出しにより、「データのプッシュ」呼出しおよび「データ・ロードの終了」呼出しで使用されるストリームIDが生成されます。そのため、呼出しは同じHTTPセッションで発行される必要があります。REST APIはステートレスであるため、Cookieを使用して情報を格納する必要があります。この例では、--cookie-jar
オプションを使用して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/dataload -H Accept:application/json -H Content-Type:application/json -d '{"ruleFileName": "Data"}' -u %User%:%Password%
レスポンス
JSONレスポンスに一意のストリームIDが含まれます。
{
"streamId" : "178641591",
"links" : [ {
"rel" : "pushData",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dataload/178641591",
"method" : "POST"
} ]
}
データのプッシュ
cURL文で最初の呼出しのストリームIDを使用して、テキスト・ファイルのカンマ区切りデータをSample Basicキューブにプッシュします。
call properties.bat
curl -X POST -b cookies.txt https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dataload/178641591 -H Content-Type:text/plain --data-binary "@./Data_Basic.txt" -u %User%:%Password%
レスポンス
{
"links" : [ {
"rel" : "pushData",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dataload/178641591",
"method" : "POST"
}, {
"rel" : "endDataLoad",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dataload/178641591",
"method" : "DELETE"
} ]
}
データ・ロードの終了
cURL文でストリームIDを使用して、ストリーミング・データ・ロード・プロセスを終了します。
call properties.bat
curl -X DELETE -b cookies.txt https://myserver.example.com:9001/essbase/rest/v1/applications/Sample/databases/Basic/dataload/178641591 -u %User%:%Password%
レスポンス
{
"status" : "Data load completed successfully"
}