データのプッシュ
/essbase/rest/v1/applications/{applicationName}/databases/{databaseName}/dataload/{streamId}
データ・ロードのためにデータをプッシュします。データは、このリクエストを複数回繰り返すことで、CSVフォーマットでチャンクでプッシュできます。
リクエスト
- text/plain
- text/csv
- applicationName(required): string
アプリケーション名。
- databaseName(required): string
データベース名。
- streamId(required): string
「データ・ロードの開始」操作から返されたストリームID。
カンマ区切りデータ。
string
レスポンス
- application/json
- application/xml
200 レスポンス
OK
データが正常にプッシュされました。links=true
パラメータが渡された場合は、データをさらにプッシュするためとデータのロードを終了するためのリンクが含まれます。
400 レスポンス
不正なリクエスト
データのプッシュに失敗しました。ストリームIDが無効である可能性があります。
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"
}