ストリームされたグローバル・データソース結果のIDによる取得

get

/essbase/rest/v1/datasources/query/data/{streamId}

指定されたストリームIDに関連付けられているグローバルレベル・データソースから結果を返します。

リクエスト

パス・パラメータ
先頭に戻る

レスポンス

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

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"
...
先頭に戻る