List of Sources
以下のGET リクエストを実行することで、システムに存在するデータソースのリストにアクセスできます:
GET http://<cdatavirtuality-server-address>:8080/rest/api/sourceSTATUS 200[ {"Name":"SYS"}, {"Name":"SYSADMIN"}, {"Name":"UTILS"}, {"Name":"SYSLOG"}, {"Name":"views"}]Source Content
各ソースのコンテンツ(テーブル、ビュー、およびストアド プロシージャ)には、以下のGET 要求でアクセスできます:
GET http://<cdatavirtuality-server-address>:8080/rest/api/source/{name}STATUS 200[ {"Name":"CliTemplates","Type":"Table","Description":null,"SchemaName":"SYSADMIN"}, {"Name":"DVConnectorPropDefaults","Type":"Table","Description":null,"SchemaName":"SYSADMIN"}, {"Name":"dropIndexByName","Type":"Procedure","Description":null,"SchemaName":"SYSADMIN"}]要求されたソースが見つからない場合は、説明のメッセージとともにステータス404 が返されます。次の例では、スキーマ名のタイプミスが問題の原因です:
STATUS 404{"title":"Something is wrong","description":"Schema 'sysadmind' doesn't exist.","hint":null}Operations with Sources
Removing Source
DELETEメソッドを使用してソースを削除できます。
DELETE http://<cdatavirtuality-server-address>:8080/rest/api/source/{source}STATUS 200// No content in responseただし、ソースが見つからない場合は、以下のメッセージが表示されます:
DELETE http://<cdatavirtuality-server-address>:8080/rest/api/source/{source}STATUS 404{"title":"Something is wrong","description":"Schema 'doesntexist' doesn't exist.","hint":null}Adding Source
新しいソースは、POST要求を使用して追加できます。リクエストボディは、指定されたテンプレートに厳密に従わなければならないことに注意してください:
POST http://<cdatavirtuality-server-address>:8080/rest/api/source/Body (application/json):{ "name":"trackNtrace", "template":"ws", "translator":"dhl", "connectionProps":"", "modelProps":"", "translatorProps":"", "encryptedProperties":""}STATUS 200// No content in responseRetrieving Table Content
特定のテーブルの内容にアクセスするには、次のようにGETリクエストを使用します:
GET http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{table-name}STATUS 200[{"id":2, "Name":"test"}, {"id":3, "Name":"newone"}]転送データ量を減らしたい場合は、SQL クエリエンドポイントarray=trueを使用するとよいでしょう。これは、JSON オブジェクト・コレクションの代わりに2次元配列を使用します(SQL Queriesの例1を参照)。テーブルがない場合、以下のメッセージが表示されます:
GET http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{table-name}STATUS 404{"title":"Something is wrong","description":"Table 'doesntexist' doesn't exist.","hint":null}Retrieving Row Content by Primary Key
主キーの値によって特定の行の内容にアクセスするには、次のGETリクエストを使用できます:
GET http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{table-name}/{primary-key-value}STATUS 200[{"id":2, "Name":"test"}]Retrieving Table Content by Column Value
WHERE句を持つクエリのように)あるカラム値を満たす特定のテーブルの行にアクセスするには、次の リクエストを使用できます:GET
GET http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{table-name}/{column-name}/{column-value}STATUS 200[{"num":2, "Name":"test"}, {"num":2, "Name":"newone"}]Calling Stored Procedure
ストアドプロシージャはREST API からも呼び出すことができます。パラメータ呼び出しはリクエストの本文で指定する必要があります。ストアドプロシージャは、空の配列、単一のオブジェクトを含む配列、または複数のオブジェクトを含む配列を返すことができます。
POST http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{procedure-name}Body (application/json):{"param" : "please md5 it"}// or[{"param" : "please md5 it"}]STATUS 200[{"hash":"4BC3338E788464C21918D09A64AB6212"}]ストアド プロシージャが見つからない場合、ステータス404 が表示され、次のメッセージが表示されます:
POST http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{procedure-name}STATUS 404{"title":"Something is wrong","description":"Procedure 'doesntexist' doesn't exist.","hint":null}Calling Stored Procedure in Bulk Mode
POSTリクエスト1つでプロシージャーを一括モードで呼び出す方法があります。この場合、レスポンスには、ストアド プロシージャに送信されたパラメータのセットごとの結果が含まれます。これらの結果は、呼び出されたストアドプロシージャの元の名前としてマークされ、"_index "で連結され、ストアドプロシージャの呼び出しと次の呼び出しの結果を分離します。例えば、プロシージャに2つのパラメータaとbがある場合、HTTPボディは以下のようになり、2つのプロシージャ呼び出しを表します:
POST http://<cdatavirtuality-server-address>:8080/rest/api/{source-name}/{procedure-name}Request:POST http://<cdatavirtuality-server-address>:8080/rest/api/SYSADMIN/md5Body (application/json):'[{"param" : "please md5 this"},{"param" : "and this"}]'STATUS 200[ { "md5_1": [ { "hash": "305CD7369E8475B593E6CF04C0E02181" } ] }, { "md5_2": [ { "hash": "EB21B32F360D0B91F188219FB46F6B77" } ] }]ストアド プロシージャが見つからない場合、ステータス404 が表示され、次のメッセージが表示されます:
POST http://<cdatavirtuality-server-address>:8080/rest/api/source/{source-name}/{procedure-name}STATUS 404{"title":"Something is wrong","description":"Procedure 'doesntexist' doesn't exist.","hint":null}Viewing Response Parameters
?withParams=trueパラメータをエンドポイントに追加すると、プロシージャー・パラメータの詳細がレスポンスに追加されます:
- パラメータ名、
- パラメータのデータ型、
- パラメータの種類(IN、OUT、結果セットなど)
POST http://<cdatavirtuality-server-address>:8080/rest/api/{source-name}/{procedure-name}?withParams=trueRequest:POST http://<cdatavirtuality-server-address>:8080/rest/api/SYSADMIN/md5?withParams=trueBody (application/json):'{"param" : "please md5 it"}'STATUS 200[ { "procParams": [ { "Name": "param", "DataType": "string", "Type": "In" }, { "Name": "hash", "DataType": "string", "Type": "Out" } ] }, { "hash": "4BC3338E788464C21918D09A64AB6212" }]Response Format
回答は以下のフォーマットでリクエストできます:
- JSON
- XML
- Array
必要な書式は、ACCEPTヘッダーまたはformatパラメータのいずれかで設定できます。ACCEPTヘッダー値としてapplication/json, application/xmlまたはapplication/arrayを、formatパラメータ値としてjson, xmlまたはarrayを使用してください。