行のチャンクに対するPython関数の実行

post

/api/py-scripts/v1/row-apply/{scriptName}

行のセットでチャンク化されたデータに対してユーザー所有のPython関数を実行します。

リクエスト

サポートされているメディア・タイプ
パス・パラメータ
本文()
リクエストの引数とスクリプトの追加引数を指定する(名前 - 値)ペアのJSON文字列
ルート・スキーマ: EmbedScriptComputeRow
型: object
ソースの表示
リクエストの例(application/json)
{"input":"select name, finalgrade from GRADE where score > 90", "rows":5, "parameters":"{\"oml_input_type\":\"pandas.DataFrame\"}", "parallelFlag":true}
先頭に戻る

レスポンス

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

200レスポンス

デフォルトでは、ジョブの結果を返します。
本文()
ルート・スキーマ: JSONObject
型: object
ソースの表示

201レスポンス

asyncFlag=Trueの場合、ジョブのステータスをフェッチできるロケーション・ヘッダーを返します。
ヘッダー

400レスポンス

無効なパラメータが指定され、出力がサイズ制限を超えているか、他のスクリプト実行エラーが発生しました。
本文()
ルート・スキーマ: InvalidParameterValueException
型: object
ソースの表示

500レスポンス

ブローカへの接続中、ジョブの実行中に問題が発生したか、または他の予期しないエラーが発生しました。
本文()
ルート・スキーマ: ComputeContainerException
型: object
ソースの表示
先頭に戻る

例1

次の例では、my_predictというスクリプトを実行します。

curl -i -X POST --header "Authorization: Bearer ${token}" \
--header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{"input":"select * from IRIS", "parameters":"{\"oml_input_type\":\"pandas.DataFrame\"}", "rows":4, "parallelFlag":true, "service":"LOW"}' \
"<oml-cloud-service-location-url>/oml/api/py-scripts/v1/row-apply/my_predict"

レスポンス・ヘッダー

レスポンス・ヘッダーは次のとおりです。

HTTP/1.1 200 OK
Date: Thu, 27 Aug 2020 14:41:33 GMT
Content-Type: application/json
Transfer-Encoding: chunked                                                                                                                                           
Connection: keep-alive
Cache-Control: no-cache, no-store, private
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1;mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Set-Cookie: JSESSIONID=node0iyk3jfk7ub82onaoj7c2gdxv698.node0; Path=/oml; Secure; HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT

レスポンス本文

JSON形式のレスポンス本文の一部を次に示します。

{"result":[{"Pred_Petal_Width":6.8462408185,"Species":"setosa","Petal_Width":0.2},
{"Pred_Petal_Width":5.2786489228,"Species":"versicolor","Petal_Width":1.1},
{"Pred_Petal_Width":5.0951801182,"Species":"versicolor","Petal_Width":1},...]}

例2

次の例では、test_seaborn_inpというスクリプトを実行します。

curl -i -k -X POST --header "Authorization: Bearer ${token}" --header
'Content-Type: application/json' --header 'Accept: application/json' -d
'{"input": "select * from IRIS", "rows": 50, "envName": "seaborn", "graphicsFlag": true}' 
"<oml-cloud-service-location-url>/oml/api/py-scripts/v1/row-apply/test_seaborn_inp"

レスポンス本文

RESTエンドポイントの結果は、イメージおよびデータを含むPythonスクリプトから返される値のJSON表現です。イメージ・バイトはPNG形式で返されます。

{
  "result": {
    "0": {
      "IMAGE": "iVBORw0KGgoAAAAN......AAABJRU5ErkJggg==",                                                                
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1,
      "CHUNK": 1
    },
    "1": {
      "IMAGE": "iVBORw0KGgoAAAAN......AAAAASUVORK5CYII=",
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1,
      "CHUNK": 2
    },
      "2": {
      "IMAGE": "iVBORw0KGgoAAAAN......3AAAAAElFTkSuQmCC",
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1,
      "CHUNK": 3
    }
  }
}
先頭に戻る