ストリームされたグローバル・データソース結果のIDによる取得
/essbase/rest/v1/datasources/query/data/{streamId}
指定されたストリームIDに関連付けられているグローバルレベル・データソースから結果を返します。
リクエスト
- streamId(required): string
ストリームID。
レスポンス
- application/json
- text/plain
- text/csv
200 レスポンス
OK
結果が正常にフェッチされました。
400 レスポンス
不正なリクエスト
結果のストリームに失敗しました。
500 レスポンス
サーバーの内部エラーです。
例
次の例では、グローバル・データソースからストリームされた結果をフェッチする方法を示します。
データソースの結果のストリーム・エンドポイントは、ストリームIDを含むリンクを返します。このIDを、ストリームされたデータソース結果のIDによる取得エンドポイントで使用する必要があります。最初の呼出しによって、2番目の呼出しで使用されるストリームIDが生成されるため、それらは同じHTTPセッションで発行される必要があります。REST APIはステートレスであるため、Cookieを使用して、最初の呼出しからの情報を格納する必要があります。この例では、--cookie-jar
オプションを使用してCookieを格納します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
これらのエンドポイントの代替として、ストリームされたデータソース結果の取得を使用できます。これは、単一のリクエスト内で機能し、Cookieの格納を必要としません。
cURLコマンドを含むスクリプト
call properties.bat
curl --cookie-jar cookies.txt -X POST https://myserver.example.com:9001/essbase/rest/v1/datasources/query -H Accept:application/json -H Content-Type:application/json -d '{ "query": "select * from Orcl_DS", "delimiter" : ","}' -u %User%:%Password%
curl -b cookies.txt -X GET https://myserver.example.com:9001/essbase/rest/v1/datasources/query/data/120322937 -H Accept:application/json -H Content-Type:text/csv -u %User%:%Password%
最初の呼出しのサンプル・レスポンス
最初の呼出し(データソースの結果のストリーム
)では、Orcl_DSという名前のデータソースの列ヘッダーが返され、データソースの結果をフェッチするためのストリームIDが含むリンクが含められます。
{
"columns" : [ {
"id" : 0,
"name" : "DIMENSION_PRODUCT"
}, {
"id" : 1,
"name" : "DIMENSION_MARKET"
}, {
"id" : 2,
"name" : "DIMENSION_YEAR"
}, {
"id" : 3,
"name" : "DIMENSION_SCENARIO"
}, {
"id" : 4,
"name" : "SALES"
}, {
"id" : 5,
"name" : "COGS"
}, {
"id" : 6,
"name" : "MARKETING"
}, {
"id" : 7,
"name" : "PAYROLL"
}, {
"id" : 8,
"name" : "MISC"
}, {
"id" : 9,
"name" : "INITIAL_INVENTORY"
}, {
"id" : 10,
"name" : "ADDITIONS"
} ],
"links" : [ {
"rel" : "data",
"href" : "https://myserver.example.com:9001/essbase/rest/v1/datasources/query/data/120322937",
"method" : "GET",
"type" : "text/csv"
} ]
}
2番目の呼出しのサンプル・レスポンス
2番目の呼出し(Get Streamed Datasource Results by ID)では、最初の呼出しからのストリームIDを使用して、データソースからの結果がtext/CSVフォーマットで返されます。次のストリームされた結果は長いため、切り捨てられています。
"100-20","Washington","Aug","Actual","317.0","133.0","120.0","29.0","1.0","","304.0"
"100-20","Washington","Aug","Budget","390.0","160.0","110.0","20.0","","","350.0"
"100-20","Utah","Aug","Actual","160.0","72.0","27.0","33.0","1.0","","153.0"
"100-20","Utah","Aug","Budget","200.0","90.0","20.0","30.0","","","170.0"
"100-20","Nevada","Aug","Actual","90.0","41.0","12.0","21.0","0.0","","86.0"
"100-20","Nevada","Aug","Budget","110.0","50.0","10.0","20.0","","","100.0"
"100-20","Texas","Aug","Actual","120.0","52.0","17.0","12.0","0.0","","114.0"
"100-20","Texas","Aug","Budget","150.0","60.0","10.0","10.0","","","130.0"
"100-20","Oklahoma","Aug","Actual","55.0","22.0","6.0","11.0","0.0","","52.0"
"100-20","Oklahoma","Aug","Budget","60.0","20.0","0.0","10.0","","","60.0"
"100-20","Louisiana","Aug","Actual","154.0","63.0","17.0","11.0","0.0","","147.0"
"100-20","Louisiana","Aug","Budget","190.0","70.0","10.0","10.0","","","170.0"
"100-10","Oklahoma","Aug","Actual","155.0","68.0","22.0","12.0","0.0","","147.0"
"100-10","Oklahoma","Aug","Budget","190.0","80.0","20.0","10.0","","","170.0"
"100-10","Louisiana","Aug","Actual","118.0","48.0","13.0","11.0","0.0","","113.0"
"100-10","Louisiana","Aug","Budget","140.0","60.0","10.0","10.0","","","130.0"
...