List of Sources
以下のGET リクエストを実行することで、システムに存在するデータソースのリストにアクセスできます:
GET
http://
<
cdatavirtuality
-server-address>:8080/rest/api/source
STATUS 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 response
Retrieving 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"}]
Retrieving row content by primary key and retrieving table content by column value available since v4.5
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/md5
Body (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=true
Request:
POST
http://
<
cdatavirtuality
-server-address>:8080/rest/api/SYSADMIN/md5?withParams=true
Body (application/json):
'{"param" : "please md5 it"}'
STATUS 200
[
{
"procParams": [
{
"Name": "param",
"DataType": "string",
"Type": "In"
},
{
"Name": "hash",
"DataType": "string",
"Type": "Out"
}
]
},
{
"hash": "4BC3338E788464C21918D09A64AB6212"
}
]
Response parameters are available since v4.0.7
Response Format
回答は以下のフォーマットでリクエストできます:
- JSON
- XML
- Array
必要な書式は、ACCEPT
ヘッダーまたはformat
パラメータのいずれかで設定できます。ACCEPT
ヘッダー値としてapplication/json
, application/xml
またはapplication/array
を、format
パラメータ値としてjson
, xml
またはarray
を使用してください。
Response format available since v4.5