body
필수 사항
-
추가 속성은 허용되지 않습니다.
-
추가 속성은 허용되지 않습니다.
-
추가 속성은 허용되지 않습니다.
-
추가 속성은 허용되지 않습니다.
-
각 키가 스키마 이름을 나타내는 객체 입니다. 각 스키마 에는 테이블 필터를 적용 할 수 있는 테이블이 포함되어 있습니다.
-
이 마이그레이션 에 컬렉션을 포함하거나 제외합니다.
- 포함 전용: 지정된 포함 필터하다 와 일치하는 컬렉션만 마이그레이션됩니다.
- 제외만: 제외 필터하다 와 일치하는 컬렉션을 제외한 모든 컬렉션이 마이그레이션됩니다.
- 포함 및 제외: 제외 필터하다 와 일치하는 컬렉션을 제외하고 포함 필터하다 와 일치하는 컬렉션을 마이그레이션합니다.
- 필터 없음: 모든 컬렉션이 마이그레이션됩니다.
POST /jobs
curl \
--request POST 'http://127.0.0.1:8278/api/v1/jobs' \
--header "Content-Type: application/json" \
--data '{
"projectId": "string",
"jdbcConnectionDetails": {
"id": "string",
"type": "ORACLE",
"url": "string",
"user": "string",
"password": "string",
"savePassword": false,
"existingConnectionId": "string",
"oraclePdbName": "string",
"isManualUri": false
},
"mongodbConnectionDetails": {
"id": "string",
"connectionString": "string",
"savePassword": false,
"existingConnectionId": "string"
},
"options": {
"dropCollections": false,
"mode": "SNAPSHOT",
"truncationReportMode": "FAIL",
"errorHandling": "FAIL",
"errorTolerance": 42,
"incrementalSnapshotOptions": {
"signalingTable": "database.schema.table",
"chunkSize": 42
}
},
"verification": {
"enabled": false,
"type": "FULL",
"countMethod": "EXACT",
"includedCollections": [
"string"
],
"samplePercentage": 100
},
"relationalTableFilters": {
"schema_1_name": {
"table_1_name": {
"whereClause": "id > 1000 AND id <= 2000"
},
"table_2_name": {
"whereClause": "TRUE",
"rowCount": 10
}
}
},
"collectionFilters": {
"include": [
"string"
],
"exclude": [
"string"
]
}
}'
요청 예시
{
"projectId": "string",
"jdbcConnectionDetails": {
"id": "string",
"type": "ORACLE",
"url": "string",
"user": "string",
"password": "string",
"savePassword": false,
"existingConnectionId": "string",
"oraclePdbName": "string",
"isManualUri": false
},
"mongodbConnectionDetails": {
"id": "string",
"connectionString": "string",
"savePassword": false,
"existingConnectionId": "string"
},
"options": {
"dropCollections": false,
"mode": "SNAPSHOT",
"truncationReportMode": "FAIL",
"errorHandling": "FAIL",
"errorTolerance": 42,
"incrementalSnapshotOptions": {
"signalingTable": "database.schema.table",
"chunkSize": 42
}
},
"verification": {
"enabled": false,
"type": "FULL",
"countMethod": "EXACT",
"includedCollections": [
"string"
],
"samplePercentage": 100
},
"relationalTableFilters": {
"schema_1_name": {
"table_1_name": {
"whereClause": "id > 1000 AND id <= 2000"
},
"table_2_name": {
"whereClause": "TRUE",
"rowCount": 10
}
}
},
"collectionFilters": {
"include": [
"string"
],
"exclude": [
"string"
]
}
}
응답 예시(200)
{
"id": "string",
"projectId": "string",
"status": "NOT_STARTED",
"cdcStatus": "NOT_STARTED",
"verificationJobId": "string",
"options": {
"dropCollections": false,
"mode": "SNAPSHOT",
"truncationReportMode": "FAIL",
"errorHandling": "FAIL",
"errorTolerance": 42,
"incrementalSnapshotOptions": {
"signalingTable": "database.schema.table",
"chunkSize": 42
}
},
"jdbcConnectionString": "string",
"mongoDbConnectionString": "string",
"submittedAt": "2026-05-04T09:42:00Z",
"statistics": {
"startedAt": "2026-05-04T09:42:00Z",
"elapsedSeconds": 42,
"remainingTableCount": 42,
"processingTables": [
"string"
],
"migratedTables": [
"string"
],
"totalEventsSeen": 0,
"snapshotCompleted": false,
"totalTableCount": 42,
"totalEvents": 42,
"totalEventSize": 42
},
"cdcStatistics": {
"startedAt": "2026-05-04T09:42:00Z",
"lastEventTime": "2026-05-04T09:42:00Z",
"lastEventSourceDatabaseTime": "2026-05-04T09:42:00Z",
"eventsInLastHour": 0,
"eventsInLastMinute": 0,
"totalEventsSeen": 0,
"latestBatchMaxSourceDbLagMs": -1
},
"jmxConnectivity": {
"status": "AVAILABLE",
"lastSuccessfulScrapeAt": "2026-05-04T09:42:00Z",
"errorMessage": "string"
},
"connectorStatus": {
"source": {
"name": "string",
"state": "RUNNING",
"tasks": [
{
"id": 42,
"state": "RUNNING",
"workerId": "string",
"trace": "string"
}
]
},
"sink": {
"name": "string",
"state": "RUNNING",
"tasks": [
{
"id": 42,
"state": "RUNNING",
"workerId": "string",
"trace": "string"
}
]
}
},
"failureError": {
"errorType": "string",
"message": "string",
"failureAt": "2026-05-04T09:42:00Z",
"setupError": false,
"failedLocation": "string",
"failedLocationType": "TABLE"
},
"metadata": {
"telemetryUserId": "string",
"verification": {
"samplePercentage": 100,
"isEmbeddedMode": false,
"status": "VERIFYING"
}
},
"relationalTableFilters": {
"schema_1_name": {
"table_1_name": {
"whereClause": "id > 1000 AND id <= 2000"
},
"table_2_name": {
"whereClause": "TRUE",
"rowCount": 10
}
}
},
"collectionFilters": {
"include": [
"string"
],
"exclude": [
"string"
]
}
}
응답 예시(400)
{
"errorType": "VALIDATION_ERROR",
"message": "string",
"timestamp": "2026-05-04T09:42:00Z",
"issues": [
{
"type": "RELMIG_MAPPING_TABLE_MISSING",
"message": "string",
"pointer": "/project/content/mappings/0123456789abcdef0123456789abcdef/fields/Name/target/name"
}
]
}
응답 예시(409)
{
"errorType": "VALIDATION_ERROR",
"message": "string",
"timestamp": "2026-05-04T09:42:00Z",
"issues": [
{
"type": "RELMIG_MAPPING_TABLE_MISSING",
"message": "string",
"pointer": "/project/content/mappings/0123456789abcdef0123456789abcdef/fields/Name/target/name"
}
]
}
응답 예시(422)
{
"errorType": "VALIDATION_ERROR",
"message": "string",
"timestamp": "2026-05-04T09:42:00Z",
"issues": [
{
"type": "RELMIG_MAPPING_TABLE_MISSING",
"message": "string",
"pointer": "/project/content/mappings/0123456789abcdef0123456789abcdef/fields/Name/target/name"
}
]
}
응답 예시(500)
{
"errorType": "VALIDATION_ERROR",
"message": "string",
"timestamp": "2026-05-04T09:42:00Z",
"issues": [
{
"type": "RELMIG_MAPPING_TABLE_MISSING",
"message": "string",
"pointer": "/project/content/mappings/0123456789abcdef0123456789abcdef/fields/Name/target/name"
}
]
}