ストリーミング取り込みとレプリケーションREST API
ストリーミング取り込みとレプリケーションREST APIリソースを使用して、ストリーミング取り込みとレプリケーションタスクの作成、デプロイ、デプロイ解除、開始、停止、コピー、更新や、ストリーミング取り込みとレプリケーションジョブの監視を行うことができます。
ストリーミング取り込みとレプリケーションリソースを使用する場合は、次の要求ヘッダー形式を使用してください。
<METHOD><base URL>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
ストリーミング取り込みおよびレプリケーションタスクの作成
CreateEntity/Documentsリソースを使用し、ストリーミング取り込みとレプリケーションタスクを作成します。
POST要求
ストリーミング取り込みとレプリケーションタスクを作成するには、次のURLを使用します。
POST <server URI>/sisvc/restapi/v1/CreateEntity/Documents
次の要求ヘッダーを使用します。
POST <server URI>/sisvc/restapi/v1/CreateEntity/Documents
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID: <SessionId>
POST要求のサンプル
ストリーミング取り込みとレプリケーションタスクを作成する際にはこのサンプルを参考にしてください。
POST <server URI>/sisvc/restapi/v1/CreateEntity/Documents
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
{
"name": "FileToFile17",
"description": "FileToFile_V2",
"runtimeId": "01000025000000000003",
"locationId": "8ubL3nIupMqk6bJC2mYtkh",
"currentVersion": "2",
"messageFormat": "binary",
"documentState": "VALID",
"parentInfo": [
{
"parentId": "8ubL3nIupMqk6bJC2mYtkh",
"parentName": "ng",
"parentType": "Project"
}
],
"nodes": [
{
"name": "FileToFile_source",
"type": "source",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File",
"value": "siagent.log"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": ""
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name":"Filter",
"serviceType":"transformation",
"type":"filter",
"metaMetadata":"",
"config": [{
"key":"messageFormat",
"value":"binary"
}, {
"key":"transformationName",
"value":"Filter"
}, {
"key":"filterType",
"value":"regEx"
}, {
"key":"expression",
"value":"*"
}, {
"key":"name",
"value":"filter"
}
]
},
{
"name": "FileToFile_target",
"type": "target",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File Name",
"value": "testing.log"
},
{
"key": "interimDirectory",
"value": "/home/agent/infa/test_file_target"
},
{
"key": "rolloverSize",
"value": 100
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 100
}
]
}
],
"edges": [
{
"from": "FileToFile_source",
"to": "Filter"
},
{
"from": "Filter",
"to": "FileToFile_target"
}
],
"runtimeOptions": {
"maxLogSize": {
"value": 10,
"unit": "MB"
},
"logLevel": "INFO"
}
}
POST応答
要求が成功すると、サービスはHTTPステータスコード200 OKを返します。
ストリーミング取り込みとレプリケーションタスクのデプロイ、デプロイ解除、開始、および停止
dataflowsリソースを使用して、ストリーミング取り込みとレプリケーションタスクをデプロイ、デプロイ解除、開始、および停止します。
次のベースURLを使用する。
<server URI>/sisvc/api/v1/Dataflows('<dataflow ID>')/OData.SI.<API name>
注: HTTPバージョンを自動的に含めるPostmanなどのツールを使用する場合は、URLにHTTPバージョンを入力しないでください。HTTPバージョンがURLに2回出現すると、要求が失敗します。
ストリーミング取り込みとレプリケーションタスクのデプロイ
POST要求を使用してストリーミング取り込みとレプリケーションタスクをデプロイします。
POST要求
ストリーミング取り込みとレプリケーションタスクをデプロイするには、次のURLを使用します。
<server URI>/sisvc/api/v1/Dataflows('<dataflow ID>')/OData.SI.Deploy
URLはデータフローIDを渡すため、要求本文は必要ありません。
POST要求の例
ストリーミング取り込みとレプリケーションタスクをデプロイするには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/api/v1/Dataflows('50077311-d4a4-437c-9218-c3596d1f182f')/OData.SI.Deploy
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"@odata.context": "$metadata#OData.SI.DeploymentResult",
"successful": true,
"code": null,
"errorMessage": null
}
ストリーミング取り込みとレプリケーションタスクのデプロイ解除
POST要求を使用してストリーミング取り込みとレプリケーションタスクをデプロイ解除します。
POST要求
ストリーミング取り込みとレプリケーションタスクをデプロイ解除するには、次のURLを使用します。
<server URI>/sisvc/api/v1/Dataflows('<dataflow ID>')/OData.SI.Undeploy
URLはデータフローIDを渡すため、要求本文は必要ありません。
POST要求の例
ストリーミング取り込みとレプリケーションタスクをデプロイ解除するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/api/v1/Dataflows('50077311-d4a4-437c-9218-c3596d1f182f')/OData.SI.Undeploy
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"@odata.context": "$metadata#OData.SI.DeploymentResult",
"successful": true,
"code": null,
"errorMessage": null
}
ストリーミング取り込みとレプリケーションタスクの開始
POST要求を使用してストリーミング取り込みとレプリケーションタスクを開始します。
POST要求
ストリーミング取り込みとレプリケーションタスクを開始するには、次のURLを使用します。
<server URI>/sisvc/api/v1/Dataflows('<dataflow ID>')/OData.SI.Start
URLはデータフローIDを渡すため、要求本文は必要ありません。
POST要求の例
ストリーミング取り込みとレプリケーションタスクを開始するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/api/v1/Dataflows('50077311-d4a4-437c-9218-c3596d1f182f')/OData.SI.Start
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"@odata.context": "$metadata#OData.SI.DeploymentResult",
"successful": true,
"code": null,
"errorMessage": null
}
ストリーミング取り込みとレプリケーションタスクの停止
POST要求を使用してストリーミング取り込みとレプリケーションタスクを停止します。
POST要求
ストリーミング取り込みとレプリケーションタスクを停止するには、次のURLを使用します。
<server URI>/sisvc/api/v1/Dataflows('<dataflowID>')/OData.SI.Stop
URLはデータフローIDを渡すため、要求本文は必要ありません。
POST要求の例
ストリーミング取り込みとレプリケーションタスクを停止するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/api/v1/Dataflows('d7572789-dc4c-4c56-bbeb-3772736d61aa')/OData.SI.Stop
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"@odata.context": "$metadata#OData.SI.DeploymentResult",
"successful": true,
"code": null,
"errorMessage": null
}
ストリーミング取り込みとレプリケーションタスクのコピー
ストリーミング取り込みとレプリケーションタスクをコピーするには、CopyEntitiesリソースを使用します。
POST要求
ストリーミング取り込みとレプリケーションタスクをコピーするには、次のURLを使用します。
<server URI>/sisvc/restapi/v1/CopyEntities
要求に以下のフィールドを含めることができます。
フィールド | タイプ | 必須 | 説明 |
|---|
targetLocationID | String | ○ | オブジェクトのコピー先となるターゲットの場所のID。 |
sourceEntities | 配列 | ○ | ソース接続とターゲット接続の設定。 |
sourceId | String | ○ | ソースオブジェクトのID。 |
targetName | String | ○ | ターゲットオブジェクトの名前。 |
targetDescription | String | - | ターゲットオブジェクトの説明。 |
POST要求の例
2つのストリーミング取り込みとレプリケーションタスクをコピーするには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/CopyEntities
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
{
"targetLocationID": "2RGmVdwN15PbfnQP5PSoSB",
"sourceEntities": [
{
"sourceId": "5Ff6jeaSh2UfAqiV01ldKD",
"targetName": "Test_Copy_A",
"targetDescription": "Description_1"
},
{
"sourceId": "fZnCSqcWTOQkJOr8VCWZQE",
"targetName": "Test_Copy_B",
"targetDescription": "Description_2"
}
]
}
要求が失敗すると、応答にエラーの理由が含まれます。
POST応答
POST要求を使用してストリーミング取り込みとレプリケーションタスクをコピーした場合、成功すると成功応答を返し、エラーが発生した場合はエラーオブジェクトを返します。
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"Status Message": "Operation succeeded on 2 artifacts.",
"Success": {
"Test_Copy_A": "ideNJw6l54gizxofF53HQH",
"Test_Copy_B": "cOQ3gcWKSYikzVqqg6IOok"
}
}
ストリーミング取り込みとレプリケーションタスクの更新
ストリーミング取り込みとレプリケーションタスクを更新するには、UpdateEntityリソースを使用します。Amazon Kinesis、Amazon S3 V2、Microsoft Azure Event Hub、Microsoft Azure Data Lake Storage Gen2、フラットファイル、JDBC V2、JMS、Kafka、またはMQTTのコネクタを使用するストリーミング取り込みとレプリケーションタスクを更新できます。
POST要求
POST要求を使用してストリーミング取り込みとレプリケーションタスクを更新します。
ストリーミング取り込みとレプリケーションタスクを更新するには、次のURLを使用します。
<server URI>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
要求に以下のフィールドを含めることができます。
フィールド | タイプ | 必須 | 説明 |
|---|
name | String | ○ | タスクの名前。 |
description | String | - | タスクの説明。 |
runtimeId | String | ○ | ランタイム環境のID。 |
currentVersion | String | ○ | 最新のデータフローオブジェクトバージョン。 |
nodes | 配列 | ○ | タスクのソース接続とターゲット接続の詳細。 |
ノード配列のフィールド
配列内のフィールドによって、接続の名前、タイプ、および接続IDを指定します。これには、編集可能なキーと値のペアであるソース接続とターゲット接続の設定が含まれます。nodes配列には以下のフィールドを含めることができます。
フィールド | タイプ | 必須 | 説明 |
|---|
name | String | ○ | 接続の名前。 |
type | String | ○ | 接続タイプ、ソースまたはターゲット。 |
connectionId | String | ○ | 接続のID。 |
transformationType | String | - | 該当なし。 |
config | 配列 | ○ | ソース接続とターゲット接続の設定。 |
POST応答
REST APIはアクションの実行に成功すると、200または201成功応答が返されます。REST APIでエラーが発生すると、適切なエラーコードが返されます。
要求が成功した場合、応答は次のフィールドを返します。
フィールド | タイプ | 説明 |
|---|
name | String | タスクの名前。 |
description | String | タスクの説明(存在する場合)。 |
runtimeId | String | ランタイム環境のID。 |
currentVersion | String | 最新のデータフローオブジェクトバージョン。 |
nodes | 配列 | タスクのソース接続とターゲット接続の詳細。 |
ノード配列のフィールド
応答には、nodes配列の以下のフィールドが含まれます。
フィールド | タイプ | 説明 |
|---|
name | 文字列 | 接続の名前。 |
タイプ | 文字列 | 接続タイプ。 |
connectionId | 文字列 | 接続のID。 |
transformationType | 文字列 | トランスフォーメーションのタイプ。 |
config | 文字列 | キーと値のペアであるソース接続とターゲット接続の設定。配列内のキーは、ソース接続とターゲット接続のタイプによって異なります。 |
要求が失敗すると、応答にエラーの理由が含まれます。
MQTTソース
タスクソースのソース接続がMQTTの場合、ソース接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
ClientID | String | - | MQTTソースとMQTTブローカ間の接続を識別する一意の識別子。クライアントIDは、MQTTソースがメッセージの処理中にメッセージを格納するために使用するファイルベースの永続ストアです。 255文字までの文字列を入力できます。 |
MaxQueueSize | Integer | - | プロセッサがメモリに保存できるメッセージの最大数。 1から2147483647までの数値を入力できます。 |
トピック | String | ○ | MQTTトピックの名前。 |
POST要求の例
MQTTソースとフラットファイルターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "mqtt to flatfile",
"description": "mqtt to flatfile",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "mqtt to flatfile_source",
"type": "source",
"connectionId": "012MGS0B00000000001O",
"transformationType": "",
"config": [
{
"key": "ClientID",
"value": "test"
},
{
"key": "MaxQueueSize",
"value": 1024
},
{
"key": "Topic",
"value": "test"
}
]
},
{
"name": "mqtt to flatfile_target",
"type": "target",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
},
{
"key": "File Name",
"value": "test"
}
]
}
],
"edges": [
{
"from": "mqtt to flatfile_source",
"to": "mqtt to flatfile_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "mqtt to flatfile",
"description": "mqtt to flatfile",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "mqtt to flatfile_source",
"type": "source",
"connectionId": "012MGS0B00000000001O",
"transformationType": "",
"config": [
{
"key": "ClientID",
"value": "test"
},
{
"key": "MaxQueueSize",
"value": 1024
},
{
"key": "Topic",
"value": "test"
}
]
},
{
"name": "mqtt to flatfile_target",
"type": "target",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
},
{
"key": "File Name",
"value": "test"
}
]
}
],
"edges": [
{
"from": "mqtt to flatfile_source",
"to": "mqtt to flatfile_target"
}
]
}
}
JMSソース
タスクソースのソース接続がJMSの場合、ソース接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
destinationType | String | ○ | ソースサービスがJMSメッセージを送信する接続先のタイプ。次のいずれかの値を入力します。 - - [キュー]。JMSプロバイダは、キューに登録されている単一のコンシューマにメッセージを配信します。
- - [トピック]。JMSプロバイダは、トピックにサブスクライブしているすべてのアクティブなコンシューマにメッセージを配信します。
|
clientId | String | ○ | JMS接続の一意のID。255文字までの文字列を入力できます。 |
sharedSubscription | String | ○ | 複数のコンシューマが単一のサブスクリプションにアクセスできるようにします。トピックの接続先タイプに適用されます。次のいずれかの値を入力します。 |
durableSubscription | String | ○ | Trueに設定した場合、JMSソースサービスは、非アクティブなサブスクライバがメッセージを保持し、サブスクライバが再接続したときにそれらのメッセージを配信できるようにします。トピックの接続先タイプに適用されます。次のいずれかの値を入力します。 |
subscriptionName | String | ○ | サブスクリプションの名前。トピックサブスクリプションタイプが共有、継続、またはその両方である場合に、トピックの接続先タイプに適用されます。 |
JMS接続先 | String | ○ | JMSプロバイダがメッセージを配信するキューまたはトピックの名前。 |
POST要求の例
JMSソースとフラットファイルターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "crud",
"description": "JMS to FileToFile",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "crud_source",
"type": "source",
"connectionId": "012MGS0B000000000003",
"transformationType": "",
"config": [
{
"key": "destinationType",
"value": "QUEUE"
},
{
"key": "clientId",
"value": ""
},
{
"key": "JMS Destination",
"value": "test"
}
]
},
{
"name": "crud_target",
"type": "target",
"connectionId": "012MGS0B00000000000H",
"transformationType": "",
"config": [
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
},
{
"key": "File Name",
"value": "test"
}
]
}
],
"edges": [
{
"from": "crud_source",
"to": "crud_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "crud",
"description": "JMS to FileToFile",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "crud_source",
"type": "source",
"connectionId": "012MGS0B000000000003",
"transformationType": "",
"config": [
{
"key": "destinationType",
"value": "QUEUE"
},
{
"key": "clientId",
"value": ""
},
{
"key": "JMS Destination",
"value": "test"
}
]
},
{
"name": "crud_target",
"type": "target",
"connectionId": "012MGS0B00000000000H",
"transformationType": "",
"config": [
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
},
{
"key": "File Name",
"value": "test"
}
]
}
],
"edges": [
{
"from": "crud_source",
"to": "crud_target"
}
]
}
}
Microsoft Azure Data Lake Storage Gen2(ADLS Gen2)ターゲット
タスクターゲットのターゲット接続がADLS Gen2の場合、ターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
writeStrategy | String | ○ | ADLS Gen2ストレージに同じ名前のファイルが存在する場合に実行するアクション。 次のいずれかの値を入力します。 - - 付加。既存のファイルにデータを追加します。
- - 上書き。既存のファイルを新しいファイルに置き換えます。
- - 失敗。要求を失敗させます。
- - ロールオーバー。現在のファイルを閉じ、設定されたロールオーバー値に基づいて新しいファイルを作成します。
|
rolloverSize * | Integer | - | ロールオーバーをトリガする際のターゲットファイルサイズ(KB)。ロールオーバー書き込みストラテジに適用されます。 1から2147483647までの数値を入力できます。 |
rolloverEvents * | Integer | - | ロールオーバーの前に蓄積するイベントまたはメッセージの数。ロールオーバー書き込みストラテジに適用されます。 1から2147483647までの数値を入力できます。 |
rolloverTime * | Integer | - | ロールオーバーをトリガするまでの時間(ミリ秒単位)。ロールオーバー書き込みストラテジに適用されます。 1から2147483647までの数値を入力できます。 |
filesystemNameOverride | String | - | 接続で提供されたデフォルトのファイルシステム名をオーバーライドします。このファイルシステム名は、実行時にファイルに書き込むために使用されます。 1280文字までの文字列を入力できます。 |
directoryOverride | String | - | デフォルトのディレクトリパスをオーバーライドします。データを書き込む先のADLS Gen2ディレクトリパス。空白の場合は、デフォルトのディレクトリパスが使用されます。 1280文字までの文字列を入力できます。 |
compressionFormat | String | - | ストリーミング取り込みタスクがターゲットファイルにデータを書き込む前に使用する圧縮形式。 次のいずれかの値を入力します。 |
ファイル名/式 | String | ○ | ADLS Gen2ファイル名または正規表現。 249文字までの文字列を入力できます。 |
* これらのフィールドの少なくとも1つに値を入力してください。 |
POST要求の例
フラットファイルソースとADLS Gen2ターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "flatfile to adls",
"description": "flatfile to adls",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to adls_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to adls_target",
"type": "target",
"connectionId": "012MGS0B00000000003D",
"transformationType": "",
"config": [
{
"key": "writeStrategy",
"value": "Rollover"
},
{
"key": "filesystemNameOverride",
"value": "test"
},
{
"key": "File Name/Expression",
"value": "test"
},
{
"key": "compressionFormat",
"value": "NONE"
},
{
"key": "directoryOverride",
"value": "/test"
},
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
}
]
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "flatfile to adls",
"description": "flatfile to adls",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to adls_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to adls_target",
"type": "target",
"connectionId": "012MGS0B00000000003D",
"transformationType": "",
"config": [
{
"key": "writeStrategy",
"value": "Rollover"
},
{
"key": "filesystemNameOverride",
"value": "test"
},
{
"key": "File Name/Expression",
"value": "test"
},
{
"key": "compressionFormat",
"value": "NONE"
},
{
"key": "directoryOverride",
"value": "/test"
},
{
"key": "interimDirectory",
"value": "/home/agent/test"
},
{
"key": "rolloverSize",
"value": 1024
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 300000
}
]
}
]
}
}
Amazon S3ターゲット
タスクターゲットのターゲット接続がAmazon S3の場合、ターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
partitionTime | String | - | ストリーミング取り込みタスクがAmazon S3バケットにパーティションを作成する際に従う時間間隔。 次のいずれかの値を入力します。 - - なし
- - 5分
- - 10分
- - 15分
- - 20分
- - 30分
- - 1時間
- - 1日
|
minUploadPartSize | Integer | - | 複数の独立したパートセットとしてサイズの大きなファイルをアップロードする場合の最小パートサイズ(MB単位)。このプロパティを使用して、ファイルのロードをAmazon S3に合わせます。 50から5120までの数値を入力できます。 |
multipartUploadThreshold | Integer | - | オブジェクトを複数のパートで並行してアップロードする場合のマルチパートしきい値。 50から5120までの数値を入力できます。 |
オブジェクト名/式 | String | ○ | Amazon S3ターゲットファイル名、またはAmazon S3ファイル名パターンの正規表現。 |
POST要求の例
フラットファイルソースとAmazon S3ターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "flatfile to amazon S3",
"description": "flatfile to amazon S3",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to amazon S3_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to amazon S3_target",
"type": "target",
"connectionId": "012MGS0B0000000000I7",
"transformationType": "",
"config": [
{
"key": "partitionTime",
"value": "None"
},
{
"key": "minUploadPartSize",
"value": 5120
},
{
"key": "multipartUploadThreshold",
"value": 5120
},
{
"key": "Object Name/Expression",
"value": "test"
}
]
}
],
"edges": [
{
"from": "flatfile to amazon S3_source",
"to": "flatfile to amazon S3_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "flatfile to amazon S3",
"description": "flatfile to amazon S3",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to amazon S3_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to amazon S3_target",
"type": "target",
"connectionId": "012MGS0B0000000000I7",
"transformationType": "",
"config": [
{
"key": "partitionTime",
"value": "None"
},
{
"key": "minUploadPartSize",
"value": 5120
},
{
"key": "multipartUploadThreshold",
"value": 5120
},
{
"key": "Object Name/Expression",
"value": "test"
}
]
}
],
"edges": [
{
"from": "flatfile to amazon S3_source",
"to": "flatfile to amazon S3_target"
}
]
}
}
Azure Event Hubsターゲット
タスクターゲットのターゲット接続がAzure Event Hubsの場合、ターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
sasPolicyName | String | - | Event Hub名前空間共有アクセスポリシーの名前。 255文字までの文字列を入力できます。 |
sasPolicyPrimaryKey | String | - | Event Hub名前空間共有アクセスポリシーのプライマリキー。 255文字までの文字列を入力できます。 |
Event Hub | String | ○ | Azure Event Hubsの名前。 255文字までの文字列を入力できます。名前には、小文字、大文字、数字、および特殊文字(「-」および「_」)を含めることができます。 |
POST要求の例
フラットファイルソースとAzure Event Hubsターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "flatfile to azure event hub",
"description": "flatfile to azure event hub",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to azure event hub_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to azure event hub_target",
"type": "target",
"connectionId": "012MGS0B00000000001S",
"transformationType": "",
"config": [
{
"key": "sasPolicyName",
"value": "test"
},
{
"key": "sasPolicyPrimaryKey",
"value": "test"
},
{
"key": "Event Hub",
"value": "test"
}
]
}
],
"edges": [
{
"from": "flatfile to azure event hub_source",
"to": "flatfile to azure event hub_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "flatfile to azure event hub",
"description": "flatfile to azure event hub",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to azure event hub_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "File",
"value": "logfile"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "flatfile to azure event hub_target",
"type": "target",
"connectionId": "012MGS0B00000000001S",
"transformationType": "",
"config": [
{
"key": "sasPolicyName",
"value": "test"
},
{
"key": "sasPolicyPrimaryKey",
"value": "test"
},
{
"key": "Event Hub",
"value": "test"
}
]
}
],
"edges": [
{
"from": "flatfile to azure event hub_source",
"to": "flatfile to azure event hub_target"
}
]
}
}
JDBC V2ターゲット
タスクターゲットのターゲット接続がJDBC V2の場合、ターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
Table Name | String | ○ | JSON形式でデータを挿入するテーブルの名前。 988文字までの文字列を入力します。 |
POST要求の例
フラットファイルソースとJDBC V2ターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "FileFile to jdbc",
"description": "FileToFile to jdbc_target",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to jdbc_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "tailingMode",
"value": "Single file"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "File",
"value": "logfile"
}
]
},
{
"name": "flatfile to jdbc_target",
"type": "target",
"connectionId": "012MGS0B0000000000KF",
"transformationType": "",
"config": [
{
"key": "Table Name",
"value": "table"
}
]
}
],
"edges": [
{
"from": "flatfile to jdbc_source",
"to": "flatfile to jdbc_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "FileFile to jdbc",
"description": "FileToFile to jdbc_target",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "flatfile to jdbc_source",
"type": "source",
"connectionId": "012MGS0B00000000002N",
"transformationType": "",
"config": [
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "tailingMode",
"value": "Single file"
},
{
"key": "rolloverPattern",
"value": "test"
},
{
"key": "File",
"value": "logfile"
}
]
},
{
"name": "flatfile to jdbc_target",
"type": "target",
"connectionId": "012MGS0B0000000000KF",
"transformationType": "",
"config": [
{
"key": "Table Name",
"value": "table"
}
]
}
],
"edges": [
{
"from": "flatfile to jdbc_source",
"to": "flatfile to jdbc_target"
}
]
}
}
Amazon Kinesis Streamsソースとターゲット
タスクのソース接続とターゲット接続がAmazon Kinesis Streamsの場合、ソース接続とターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
appendGUID | Boolean | | Amazon DynamoDBテーブル名にサフィックスとしてGUIDを追加するかどうかを指定します。 次のいずれかの値を入力します。 |
dynamoDB | String | | Kinesisソースデータのチェックポイントの詳細を保存するAmazon DynamoDBテーブル名。 128文字までの文字列を入力できます。 |
ストリーム | String | ○ | データを読み取る元のKinesis Streamの名前。 128文字までの文字列を入力します。 ソースノードに表示されます。 |
ストリーム名/式 | String | ○ | データを書き込む先のKinesis Stream名または正規表現。 128文字までの文字列を入力します。 ターゲットノードに表示されます。 |
POST要求の例
Amazon Kinesis StreamsソースとAmazon Kinesis Streamsターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "kinesis to kinesis",
"description": "kinesis to kinesis",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "kinesis to kinesis_source",
"type": "source",
"connectionId": "012MGS0B00000000000F",
"transformationType": "",
"config": [
{
"key": "appendGUID",
"value": true
},
{
"key": "dynamoDB",
"value": "table"
},
{
"key": "Stream",
"value": "test"
}
]
},
{
"name": "kinesis to kinesis_target",
"type": "target",
"connectionId": "012MGS0B00000000000F",
"transformationType": "",
"config": [
{
"key": "Stream Name/Expression",
"value": "trgt"
}
]
}
],
"edges": [
{
"from": "kinesis to kinesis_source",
"to": "kinesis to kinesis_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "kinesis to kinesis",
"description": "kinesis to kinesis",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "kinesis to kinesis_source",
"type": "source",
"connectionId": "012MGS0B00000000000F",
"transformationType": "",
"config": [
{
"key": "appendGUID",
"value": true
},
{
"key": "dynamoDB",
"value": "table"
},
{
"key": "Stream",
"value": "test"
}
]
},
{
"name": "kinesis to kinesis_target",
"type": "target",
"connectionId": "012MGS0B00000000000F",
"transformationType": "",
"config": [
{
"key": "Stream Name/Expression",
"value": "trgt"
}
]
}
],
"edges": [
{
"from": "kinesis to kinesis_source",
"to": "kinesis to kinesis_target"
}
]
}
}
フラットファイルソースおよびターゲット
タスクのソース接続とターゲット接続がフラットファイルの場合、ソース接続とターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
File | String | ○ | ソースファイルの絶対パスおよび名前。複数ファイルモードのベースディレクトリを入力します。 |
initialPosition | String | ○ | テールするファイルからデータを読み取る際の開始位置。次のいずれかの値を入力します。 - - ファイルの先頭。ファイルの先頭から読み取ります。すでにロールオーバーされているデータは取り込みません。
- - 現在の時刻。ファイルの最近更新された部分から読み取ります。ロールオーバーされたデータまたは書き込まれたファイル内のデータは取り込みません。
|
rolloverPattern | String | - | ロールオーバーするファイルのファイル名パターン。 テールするファイルがロールオーバーした場合、Secure Agentはファイル名パターンを使用して、ロールオーバーしたファイルを識別します。ファイルのロールオーバー中にSecure Agentが停止した場合、再起動時に、中断されたポイントからファイルを取得します。 アスタリスク(*)と疑問符(?)をワイルドカード文字として使用し、ファイルが同じディレクトリにロールオーバーされることを示すことができます。例: ${filename}.log.*と入力します。ここで、アスタリスク(*)は、ファイル名に追加される連続するバージョン番号を表します。 |
tailingMode | String | ○ | ロギングパターンに基づいて、1つまたは複数のファイルをテールします。次のいずれかの値を入力します。 - - 単一ファイル。1つのファイルをテールします。
- - 複数ファイル。ベースディレクトリに示されているすべてのファイルをテールします。正規表現を入力して、テールするファイルを示すことができます。
|
ファイル名 | String | ○ | ターゲットファイルの名前。 |
interimDirectory | String | ○ | Secure Agent上のステージングディレクトリへのパス。 |
rolloverSize | Integer | ○ | タスクがファイルをステージングディレクトリからターゲットに移動する際のファイルサイズ(KB)。 1から2147483647までの数値を入力できます。 |
rolloverEvents | Integer | ○ | ファイルのロールオーバーの前に蓄積するイベントまたはメッセージの数。 1から2147483647までの数値を入力できます。 |
rolloverTime | Integer | - | ターゲットファイルがロールオーバーするまでの時間(ミリ秒単位)。 1から2147483647までの数値を入力できます。 |
edges | 配列 | - | データフロー実行のシーケンス。 |
POST要求の例
フラットファイルソースとフラットファイルターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "FileToFile",
"description": "FileToFile_V2",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "FileToFile_source",
"type": "source",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File",
"value": "siagent.log"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": ""
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "FileToFile_target",
"type": "target",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File Name",
"value": "testing.log"
},
{
"key": "interimDirectory",
"value": "/home/agent/infa/test_file_target"
},
{
"key": "rolloverSize",
"value": 100
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 100
}
]
}
],
"edges": [
{
"from": "FileToFile_source",
"to": "FileToFile_target"
}
],
"runtimeOptions": {
"maxLogSize": {
"value": 10,
"unit": "MB"
},
"logLevel": "INFO"
}
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、次の例のような応答を受信します。
{
"Success": {
"name": "FileToFile",
"description": "FileToFile_V2",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "FileToFile_source",
"type": "source",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File",
"value": "siagent.log"
},
{
"key": "initialPosition",
"value": "Current Time"
},
{
"key": "rolloverPattern",
"value": ""
},
{
"key": "tailingMode",
"value": "Single file"
}
]
},
{
"name": "FileToFile_target",
"type": "target",
"connectionId": "0100000B000000000002",
"transformationType": "",
"config": [
{
"key": "File Name",
"value": "testing.log"
},
{
"key": "interimDirectory",
"value": "/home/agent/infa/test_file_target"
},
{
"key": "rolloverSize",
"value": 100
},
{
"key": "rolloverEvents",
"value": 100
},
{
"key": "rolloverTime",
"value": 100
}
]
}
],
"edges": [
{
"from": "FileToFile_source",
"to": "FileToFile_target"
}
],
"runtimeOptions": {
"maxLogSize": {
"value": 10,
"unit": "MB"
},
"logLevel": "INFO"
}
}
}
Kafkaソースおよびターゲット
タスクのソース接続とターゲット接続がKafkaの場合、ソース接続とターゲット接続の構成配列に次のフィールドおよびキーと値のペアを含めることができます。
キー | タイプ | 必須 | 説明 |
|---|
トピック | String | ○ | イベントの読み取り元となるKafkaソーストピック名、またはJavaでサポートされているKafkaソーストピック名パターンの正規表現。 249文字までの文字列を入力します。 |
consumerProperties | String | - | 必要に応じて、コンシューマ設定のプロパティのカンマ区切りリストを指定します。キーと値のペアとして値を指定します。例: key1=value1, key2=value2 4000文字までの文字列を入力できます。 |
producerProperties | String | - | プロデューサの設定プロパティ。 カンマ区切りリストを指定し、値をキーと値のペアとして指定します。 4000文字までの文字列を入力できます。 |
mdFetchTimeout | Integer | - | それ以降にメタデータが取得されなくなる時間。 1~2147483647の範囲で値を入力してください。 |
batchSize | Integer | - | ストリーミング取り込みタスクがそれ以降のターゲットにデータを書き込むイベントのバッチサイズ。 1~2147483647の範囲で値を入力してください。 |
トピック名/式 | String | ○ | Kafkaトピック名またはJavaがサポートするKafkaトピック名パターンの正規表現。 249文字までの文字列を入力できます。 |
POST要求の例
KafkaソースとKafkaターゲットを使用するストリーミング取り込みとレプリケーションタスクを更新するには、次の例のような要求を送信します。
POST <serverUrl>/sisvc/restapi/v1/UpdateEntity/Documents('<document ID>')
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
{
"name": "kafka to kafka",
"description": "kafka to kafka",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "kafka to kafka_source",
"type": "source",
"connectionId": "012MGS0B000000000002",
"transformationType": "",
"config": [
{
"key": "consumerProperties",
"value": "key=value"
},
{
"key": "Topic",
"value": "test"
}
]
},
{
"name": "kafka to kafka_target",
"type": "target",
"connectionId": "012MGS0B000000000002",
"transformationType": "",
"config": [
{
"key": "producerProperties",
"value": "key=value"
},
{
"key": "mdFetchTimeout",
"value": 5000
},
{
"key": "batchSize",
"value": 1048576
},
{
"key": "Topic Name/Expression",
"value": "test"
}
]
}
],
"edges": [
{
"from": "kafka to kafka_source",
"to": "kafka to kafka_target"
}
]
}
応答は、要求で入力したフィールドのみを返します。要求が失敗すると、応答にエラーの理由が含まれます。
POST応答の例
要求が成功した場合、Successノードで次の例のような応答を受信することがあります。
{
"Success": {
"name": "kafka to kafka",
"description": "kafka to kafka",
"runtimeId": "01000025000000000003",
"locationId": "5sJ0JDyJyWLlrosS5qJjsQ",
"currentVersion": "2",
"messageFormat": "binary",
"nodes": [
{
"name": "kafka to kafka_source",
"type": "source",
"connectionId": "012MGS0B000000000002",
"transformationType": "",
"config": [
{
"key": "consumerProperties",
"value": "key=value"
},
{
"key": "Topic",
"value": "test"
}
]
},
{
"name": "kafka to kafka_target",
"type": "target",
"connectionId": "012MGS0B000000000002",
"transformationType": "",
"config": [
{
"key": "producerProperties",
"value": "key=value"
},
{
"key": "mdFetchTimeout",
"value": 5000
},
{
"key": "batchSize",
"value": 1048576
},
{
"key": "Topic Name/Expression",
"value": "test"
}
]
}
],
"edges": [
{
"from": "kafka to kafka_source",
"to": "kafka to kafka_target"
}
]
}
}
ストリーミング取り込みとレプリケーションジョブに関する詳細の取得
jobsリソースを使用して、ストリーミング取り込みとレプリケーションジョブの詳細を取得します。
GET要求
ストリーミング取り込みとレプリケーションジョブの詳細を要求するには、次のURLを使用します。
<server URI>/sisvc/monitor/v1/jobs/<dataflow ID>/<run ID of the job>
GET要求の例
ストリーミング取り込みとレプリケーションジョブの詳細を取得するには、次の例のような要求を送信します。
GET https://usw1-ing.dm2-us.informaticacloud.com/sisvc/monitor/v1/jobs/1948938e-3923-4602-aba8-f122e3d66faf/42559
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
GET応答
成功した場合はジョブオブジェクトが返され、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合、応答には、ストリーミング取り込みとレプリケーションジョブに関する次の情報が含まれます。
パラメータ | タイプ | 説明 |
|---|
assetId | String | ストリーミング取り込みとレプリケーションジョブのID。 |
assetName | String | ストリーミング取り込みとレプリケーションジョブの名前。 |
duration | Integer | ジョブのデプロイに要した時間。 |
endTime | Integer | ジョブのデプロイの終了時刻(UTC時間)。 |
startTime | Integer | ジョブのデプロイの開始時刻(UTC時間)。 |
extraData | String | タスクID、デプロイされたバージョン、Secure AgentグループIDなどの追加情報。 |
runId | Integer | ストリーミング取り込みとレプリケーションジョブの実行ID。IDはデプロイのたびに変わります。 |
orgId | String | ログインユーザーが属する組織のID。 |
runtimeEnv | String | ストリーミング取り込みとレプリケーションジョブをデプロイしたSecure AgentのID。 |
startedBy | String | ストリーミング取り込みとレプリケーションタスクを作成したユーザーの名前。 |
status | String | ストリーミング取り込みとレプリケーションジョブのステータス。ジョブは、次のいずれかのステータスになります。 - - デプロイ中。ジョブはデプロイ中です。
- - 稼働中。ジョブは実行中です。
- - 実行中(警告あり)。ジョブは実行中ですが警告があります。
- - 実行中(エラーあり)。ジョブは実行中ですがエラーがあります。
- - アンデプロイ済み。ジョブはアンデプロイされています。
- - 停止。ジョブが意図的に停止されました。
|
GET応答の例
ストリーミング取り込みとレプリケーションジョブの詳細を取得する要求が成功した場合、次の例のような応答を受け取ります。
{
"assetId": "1948938e-3923-4602-aba8-f122e3d66faf",
"assetName": "testmonitor",
"assetType": "SI_DATAFLOW",
"correlationId": null,
"duration": 1543,
"endTime": "2022-02-14T04:04:13.000+0000",
"extraData": "{\"id\":\"0RwiUUb9bVwjL67dWOKjoI\",\"version\":1,\"agentGroupId\":null}",
"location": "Default",
"runId": 42559,
"orgId": "2lFy0UUNnlnbjhaoT3TSqw",
"runtimeEnv": "011ZFB2500000000000N",
"startedBy": "siqa_new",
"status": "Undeployed",
"startTime": "2022-02-14T03:38:30.000+0000",
"deployedVersion": 1
}
ストリーミング取り込みとレプリケーションジョブのリストの取得
MIJobsリソースを使用して、使用可能なストリーミング取り込みとレプリケーションジョブのリストを取得します。
GET要求
使用可能なストリーミング取り込みとレプリケーションジョブのリストを要求するには、次のURLを使用します。
<server URI>/mijobmonitor/api/v1/MIJobs
URIで以下のクエリパラメータを含めることができます。
パラメータ | タイプ | 必須 | 説明 |
|---|
$count | Boolean | × | データベース内の取り込みおよびレプリケーションジョブの数を表示します。 |
$filter | String | × | 入力に基づいてジョブをフィルタリングします。次のいずれかのフィールドを使用してフィルタできます。 - - assetName
- - assetType
- - startedBy
- - status
単一または複数のフィールドを使用してジョブをフィルタリングできます。 |
$orderby | String | × | ジョブの順序を並べ替えます。次のフィールドを使用してジョブを並べ替えることができます。 - - assetName
- - assetType
- - status
- - runtimeEnv
- - startTime
単一または複数のフィールドを使用してジョブを並べ替えることができます。 |
$skip | Integer | × | 指定したストリーミング取り込みとレプリケーションジョブの数をスキップします。例えば、最初の5つのストリーミング取り込みとレプリケーションジョブをスキップしたい場合などです。 指定している場合は、$filterおよび$orderbyパラメータの値を検討してください。 |
$top | Integer | × | 指定した数の上位ストリーミング取り込みとレプリケーションジョブを表示します。例えば、上位10個のストリーミング取り込みとレプリケーションジョブを確認したい場合などです。 指定している場合は、$filterおよび$orderbyパラメータの値を検討してください。 |
GET要求の例
使用可能なストリーミング取り込みとレプリケーションジョブのリストを取得するには、次の例のような要求を送信します。
POST https://usw1-ing.dm2-us.informaticacloud.com/mijobmonitor/api/v1/MIJobs?$count=true&$filter=(startedBy eq 'siqa_new')&$orderby=deployTime desc&$skip=0&$top=25
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
GET応答
成功した場合はMIJobsオブジェクトが返され、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合、応答には、ストリーミング取り込みとレプリケーションジョブに関する次の情報が含まれます。
パラメータ | タイプ | 説明 |
|---|
assetName | String | ストリーミング取り込みとレプリケーションジョブの名前。 |
runId | Integer | ストリーミング取り込みとレプリケーションジョブの実行ID。IDはデプロイのたびに変わります。 |
orgId | String | ログインユーザーが属する組織のID。 |
runtimeEnv | String | ストリーミング取り込みとレプリケーションジョブをデプロイしたSecure AgentのID。 |
startTime | Integer | ジョブのデプロイの開始日時(UTC時間)。 |
endTime | Integer | ジョブのデプロイの終了日時(UTC時間)。 |
deployTime | Integer | ジョブのデプロイ日時(UTC時間)。 |
undeployTime | Integer | ジョブのデプロイ解除日時(UTC時間)。 |
startedBy | Integer | ストリーミング取り込みとレプリケーションタスクを作成したユーザーの名前。 |
status | String | ストリーミング取り込みとレプリケーションジョブのステータス。ジョブは、次のいずれかのステータスになります。 - - デプロイ中。ジョブはデプロイ中です。
- - 稼働中。ジョブは実行中です。
- - 実行中(警告あり)。ジョブは実行中ですが警告があります。
- - 実行中(エラーあり)。ジョブは実行中ですがエラーがあります。
- - アンデプロイ済み。ジョブはアンデプロイされています。
- - 停止。ジョブが意図的に停止されました。
|
extraData | String | タスクID、ストリーミング取り込みジョブの場所、Secure Agent IDなどの追加情報。 |
GET応答の例
使用可能なストリーミング取り込みとレプリケーションジョブのリストを取得する要求が成功した場合、次の例のような応答を受け取ります。
{
"@odata.context": "$metadata#Collection(OData.MI.JobMonitor.MIJob)",
"@odata.count": 421,
"value": [
{
"assetId": "7ce6bbc7-f0e2-4278-bd6d-d1187f4a1420",
"assetName": "SIdeployJms",
"assetType": "SI_DATAFLOW",
"runId": 33015,
"duration": 300000,
"orgId": "1Pm6cSfPcAqfgeV57Fn3u4",
"runtimeEnv": "011U5M08000000000003",
"startTime": "2021-04-29T13:09:48.000+0000",
"endTime": "2021-04-29T13:14:48.000+0000",
"deployTime": "2021-04-29T13:09:48.000+0000",
"undeployTime": "2021-04-29T13:14:48.000+0000",
"startedBy": "siqa_new",
"status": "Undeployed",
"outOfSync": true,
"extraData": "{\"taskId\":\"7Z4ZZjXc9QViT4t2okiHuz\",\"runtimeEnv\":\"011U5M25000000000002\",\"location\":\"RestAutomation\"}",
"deployedVersion": 1,
"replace": null,
"lastUpdateTime": 0
},
{
"assetId": "a03b9aa1-4a4a-47ee-808d-ddc0ee7b3a4a",
"assetName": "kafka to kafka test",
"assetType": "SI_DATAFLOW",
"runId": 33527,
"duration": 204988000,
"orgId": "1Pm6cSfPcAqfgeV57Fn3u4",
"runtimeEnv": "011U5M08000000000002",
"startTime": "2021-05-04T05:41:39.000+0000",
"endTime": "2021-05-06T14:38:07.000+0000",
"deployTime": "2021-05-04T05:41:39.000+0000",
"undeployTime": "2021-05-06T14:38:07.000+0000",
"startedBy": "siqa_new",
"status": "Undeployed",
"outOfSync": true,
"extraData": "{\"taskId\":\"8V21nib7Sqgiw3QoDRi5uK\",\"runtimeEnv\":\"011U5M25000000000002\",\"location\":\"Default\"}",
"deployedVersion": 1,
"replace": null,
"lastUpdateTime": 0
}
]
}
ジョブステータス
statusリソースを使用して、ストリーミング取り込みとレプリケーションジョブのステータスを取得します。
GET要求
ストリーミング取り込みとレプリケーションジョブのステータスを要求するには、次のURLを使用します。
<server URI>/sisvc/monitor/v1/status/dataflows/<dataflow ID>
GET要求の例
ストリーミング取り込みとレプリケーションジョブのステータスを取得するには、次の例のような要求を送信します。
GET https://usw1-ing.dm2-us.informaticacloud.com/sisvc/monitor/v1/status/dataflows/1948938e-3923-4602-aba8-f122e3d66faf
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
GET応答
成功した場合はジョブステータスオブジェクトが返され、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合、応答には、ストリーミング取り込みとレプリケーションジョブのステータスに関する次の情報が含まれます。
パラメータ | タイプ | 説明 |
|---|
dataflowName | String | ストリーミング取り込みとレプリケーションジョブの名前。 |
dataflowId | Integer | ストリーミング取り込みとレプリケーションジョブのID。 |
status | String | ストリーミング取り込みとレプリケーションジョブのステータス。ジョブは、次のいずれかのステータスになります。 - - デプロイ中。ジョブはデプロイ中です。
- - 稼働中。ジョブは実行中です。
- - 実行中(警告あり)。ジョブは実行中ですが警告があります。
- - 実行中(エラーあり)。ジョブは実行中ですがエラーがあります。
- - アンデプロイ済み。ジョブはアンデプロイされています。
- - 停止。ジョブが意図的に停止されました。
|
timestamp | Integer | Secure Agentがストリーミング取り込みとレプリケーションジョブのステータスを記録する時間(ミリ秒単位)。 |
reports | Array | 各ノードのステータスの詳細。 |
graph | String | ジョブのソースとターゲットのスループット情報。 |
runId | Integer | ストリーミング取り込みとレプリケーションジョブの実行ID。IDはデプロイのたびに変わります。 |
GET応答の例
ストリーミング取り込みとレプリケーションジョブのステータスを取得する要求が成功した場合、次の例のような応答を受け取ります。
{
"dataflowName": "testmonitor",
"dataflowId": "1948938e-3923-4602-aba8-f122e3d66faf",
"status": "Running",
"timestamp": 1644839755000,
"reports": [
{
"name": "testmonitor_testmonitor_source",
"id": "a5684428-f41f-4d24-b73f-33c232314a91",
"status": "Running",
"timestamp": 1644839756000,
"message": null
},
{
"name": "testmonitor_testmonitor_target",
"id": "4f59b5fb-b5b2-4b83-994b-0d3e56f67e22",
"status": "Running",
"timestamp": 1644839756000,
"message": null
}
],
"graph": "{\"agentId\":\"011ZFB0800000000000N\",\"nodes\":[{\"id\":\"a5684428-f41f-4d24-b73f-33c232314a91\",\"name\":\"testmonitor_source\",\"serviceType\":\"source\",\"config\":[{\"key\":\"_nativeName\",\"value\":\"src\"},{\"key\":\"consumerProperties\",\"value\":null}],\"connectionId\":\"011ZFB0B0000000000KJ\",\"type\":\"\",\"metaMetadata\":\"\"},{\"id\":\"4f59b5fb-b5b2-4b83-994b-0d3e56f67e22\",\"name\":\"testmonitor_target\",\"serviceType\":\"target\",\"config\":[{\"key\":\"_nativeName\",\"value\":\"trgt\"},{\"key\":\"batchSize\",\"value\":\"1048576\"},{\"key\":\"mdFetchTimeout\",\"value\":\"5000\"},{\"key\":\"producerProperties\",\"value\":null}],\"connectionId\":\"011ZFB0B0000000000KJ\",\"type\":\"\",\"metaMetadata\":\"\"}],\"edges\":[{\"id\":\"6ae185ea-7e6e-4bf6-bd9e-0be5ef3a8e78\",\"name\":\"testmonitor_source_testmonitor_target\",\"from\":\"testmonitor_source\",\"to\":\"testmonitor_target\",\"type\":\"success\",\"config\":[],\"metaMetadata\":\"\"}],\"runtimeOptions\":null}",
"version": 1,
"runId": 42563
}
ジョブの統計
statisticsリソースを使用して、ストリーミング取り込みとレプリケーションジョブの統計を取得します。
統計を表示するには、ストリーミング取り込みジョブが次のいずれかのステータスになっている必要があります。
- •デプロイ中
- •稼働中
- •実行中(警告あり)
- •実行中(エラーあり)
- •停止
GET要求
ストリーミング取り込みとレプリケーションジョブの統計を要求するには、次のURLを使用します。
<server URI>/sisvc/monitor/v1/statistics/dataflows/<dataflow ID>
URIで以下のクエリパラメータを含めることができます。
パラメータ | タイプ | 必須 | 説明 |
|---|
intervals | Integer | ○ | ストリーミング取り込みジョブの統計を表示する時間(秒単位)。例えば、30秒を指定すると、応答は過去30秒間のジョブ統計を表示します。 |
overall | Boolean | × | ジョブがデプロイされた時点からの統計を表示します。 |
GET要求の例
ストリーミング取り込みとレプリケーションジョブの統計を要求するには、次の例のような要求を送信します。
GET https://usw1-ing.dm2-us.informaticacloud.com/sisvc/monitor/v1/statistics/dataflows/7f1daca9-3983-4677-930f-a9529802c56b?intervals=30&overall=true
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
GET応答
成功した場合は統計オブジェクトが返され、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合、応答には、ストリーミング取り込みとレプリケーションジョブの統計に関する次の情報が含まれます。
パラメータ | タイプ | 説明 |
|---|
dataflowId | String | ストリーミング取り込みとレプリケーションジョブのID。 |
dataflowRunId | Integer | ストリーミング取り込みとレプリケーションジョブの実行ID。 |
startTime | Integer | ストリーミング取り込みジョブの開始時刻(ミリ秒単位)。 |
stopTime | Integer | ストリーミング取り込みジョブの停止時刻(ミリ秒単位)。 |
inMessages | Integer | ノードに到着するメッセージの数。ノードは、ストリーミング取り込みタスクで使用されるソース、トランスフォーメーション、またはターゲットです。 ソースノードの値はゼロです。 |
outMessages | Integer | ノードから転送されるメッセージの数。 ターゲットノードの値はゼロです。 |
inBytes | Integer | 受信メッセージの合計サイズ(バイト単位)。 ソースノードの値はゼロです。 |
outBytes | Integer | 送信メッセージの合計サイズ(バイト単位)。 ターゲットノードの値はゼロです。 |
nodes | Array | タスクで使用されるソースとターゲットのストリーミングデータに関する情報。 |
intervals | Integer | リクエストで指定した時間間隔でのジョブの統計。間隔を設定するときに適用されます。 |
GET応答の例
ストリーミング取り込みとレプリケーションジョブの統計を取得する要求が成功した場合、次の例のような応答を受け取ります。
{
"dataflowId": "7f1daca9-3983-4677-930f-a9529802c56b",
"dataflowName": "newnew",
"dataflowVersion": 1,
"dataflowRunId": 54231,
"snapshotCount": 171,
"overall": {
"dataflowId": "7f1daca9-3983-4677-930f-a9529802c56b",
"dataflowName": "newnew",
"dataflowVersion": 1,
"dataflowRunId": 54231,
"traits": {},
"interval": 6007,
"startTime": 1646649995000,
"stopTime": 1646656000000,
"nodes": [
{
"name": "newnew_newnew_source",
"id": "17a51cdf-1f27-481e-81b8-d2e8ff60ec28",
"inMessages": 0,
"outMessages": 0,
"inBytes": 0,
"outBytes": 0,
"nodeType": "Unknown"
},
{
"name": "newnew_newnew_target",
"id": "c30d6db4-6a3b-40d3-adfb-88779a972098",
"inMessages": 0,
"outMessages": 0,
"inBytes": 0,
"outBytes": 0,
"nodeType": "Unknown"
}
]
},
"intervals": {
"30": {
"dataflowId": "7f1daca9-3983-4677-930f-a9529802c56b",
"dataflowName": "newnew",
"dataflowVersion": null,
"dataflowRunId": 54231,
"traits": {},
"interval": 30,
"startTime": 1646655972683,
"stopTime": 1646656002683,
"nodes": []
}
}
}
ジョブ履歴
historyリソースを使用して、ストリーミング取り込みとレプリケーションジョブの履歴を取得します。
GET要求
ストリーミング取り込みとレプリケーションジョブの履歴を要求するには、次のURLを使用します。
<server URI>/sisvc/monitor/v1/history/dataflows/<dataflow ID>
GET要求の例
ストリーミング取り込みとレプリケーションジョブの履歴を取得するには、次の例のような要求を送信します。
GET https://usw1-ing.dm2-us.informaticacloud.com/siscv/monitor/v1/history/dataflows/1948938e-3923-4602-aba8-f122e3d66faf
Content-Type: application/json
Accept:application/json
IDS-SESSION-ID:2l0oeVx22Rujiej7yTokmT
GET応答
成功した場合はジョブ履歴オブジェクトが返され、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合、応答には、ストリーミング取り込みとレプリケーションジョブの履歴に関する次の情報が含まれます。
パラメータ | タイプ | 説明 |
|---|
dataflowName | String | ストリーミング取り込みとレプリケーションジョブの名前。 |
dataflowId | Integer | ストリーミング取り込みとレプリケーションジョブのID。 |
deployedAt | Integer | ジョブのデプロイの開始時刻(UTC時間)。 |
undeployedAt | Integer | ジョブのデプロイ解除の終了時刻(UTC)。 |
runID | Integer | ストリーミング取り込みとレプリケーションジョブの実行ID。IDはデプロイのたびに変わります。 |
GET応答の例
ストリーミング取り込みとレプリケーションジョブの履歴を取得する要求が成功した場合、次の例のような応答を受け取ります。
[
{
"dataflowId": "1948938e-3923-4602-aba8-f122e3d66faf",
"dataflowName": "testmonitor",
"deployedAt": 1644809910000,
"undeployedAt": 1644811453000,
"dataflowVersion": 1,
"runId": 42559,
"overall": null,
"intervals": {},
"graph": null
},
{
"dataflowId": "1948938e-3923-4602-aba8-f122e3d66faf",
"dataflowName": "testmonitor",
"deployedAt": 1644811513000,
"undeployedAt": 1644838813000,
"dataflowVersion": 1,
"runId": 42561,
"overall": null,
"intervals": {},
"graph": null
}
]