새 마이그레이션 작업 게시

POST /jobs

새 마이그레이션 작업 게시

application/json

body 필수 사항

  • projectId 문자열 필수 사항
  • jdbcConnectionDetails 객체 필수 사항

    추가 속성은 허용되지 않습니다.

    jdbcConnectionDetails 속성 숨기기 jdbcConnectionDetails 속성 표시 객체
    • id 문자열
    • 유형 문자열 필수 사항

      데이터베이스 유형 또는 사용자 지정 데이터베이스 유형입니다. 예시 를 들어 MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, COCKROACHDB, DB2, SQLANYWHERE, SYBASE, SYBASEIQ 또는 YUGABYTE입니다.

    • URL 문자열 필수 사항
    • 사용자 문자열
    • 비밀번호 문자열
    • savePassword 부울

      기본값은 false 입니다.

    • 기존 연결 ID 문자열
    • oraclePdbName 문자열
    • isManualUri 부울

      기본값은 false 입니다.

  • mongodbConnectionDetails 객체 필수 사항

    추가 속성은 허용되지 않습니다.

    mongodbConnectionDetails 속성 숨기기 mongodbConnectionDetails 속성 표시 객체
    • id 문자열
    • ConnectionString 문자열 필수 사항
    • savePassword 부울

      기본값은 false 입니다.

    • 기존 연결 ID 문자열
  • 옵션 객체 필수 사항

    추가 속성은 허용되지 않습니다.

    옵션 속성 숨기기 옵션 속성 표시 객체
    • 제거 컬렉션 부울

      기본값은 false 입니다.

    • 모드 문자열 필수 사항

      값은 SNAPSHOT, CDC 또는 INCREMENTAL입니다.

    • errorHandling 문자열

      값은 FAIL, WARN 또는 SKIP입니다. 기본값은 FAIL입니다.

    • errorTolerance integer

      마이그레이션 종료하기 전에 허용해야 하는 장애( 기록 수준)의 횟수입니다. 값은 엄격하게 크거나 같습니다.

      최소값은 0입니다.

  • 검증 객체 필수 사항

    추가 속성은 허용되지 않습니다.

    인증 속성 숨기기 인증 속성 표시 객체
    • 활성화됨 부울 필수 사항

      기본값은 false 입니다.

  • RelationalTableFilters 객체

    각 키가 스키마 이름을 나타내는 객체 입니다. 각 스키마 에는 테이블 필터를 적용 할 수 있는 테이블이 포함되어 있습니다.

    RelationalTableFilters 속성 숨기기 RelationalTableFilters 속성 표시 객체
    • * 객체 additionalProperties

      각 키가 스키마 내에서 테이블 이름을 나타내는 객체 입니다.

      * 속성 숨기기 * 속성 표시 객체
      • * 객체 additionalProperties

        추가 속성은 허용되지 않습니다.

        * 속성 숨기기 * 속성 표시 객체
        • whereClause 문자열

          지정된 소스 테이블의 행을 필터하다 하는 SQL WHERE 절의 내용입니다.

        • rowCount integer(int64)

          소스 테이블에서 반환되는 행 수를 선택적으로 제한합니다.

  • collectionFilters 객체

    이 마이그레이션 에 컬렉션을 포함하거나 제외합니다.

    • 포함 전용: 지정된 포함 필터하다 와 일치하는 컬렉션만 마이그레이션됩니다.
    • 제외만: 제외 필터하다 와 일치하는 컬렉션을 제외한 모든 컬렉션이 마이그레이션됩니다.
    • 포함 및 제외: 제외 필터하다 와 일치하는 컬렉션을 제외하고 포함 필터하다 와 일치하는 컬렉션을 마이그레이션합니다.
    • 필터 없음: 모든 컬렉션이 마이그레이션됩니다.
    collectionFilters 속성 숨기기 collectionFilters 속성 표시 객체
    • 포함 array[string]
    • 제외 array[string]

응답

  • 200 application/json

    확인

    응답 속성 숨기기 응답 속성 표시 객체
    • id 문자열 필수 사항

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • projectId 문자열 필수 사항

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 상태 문자열 필수 사항

      값은 NOT_STARTED, RUNNING, FAILED, CANCELLING, CANCELLED, COMPLETED 또는 CLEANING_UP입니다.

    • cdcStatus 문자열

      값은 NOT_STARTED, RUNNING, COMPLETING, COMPLETED, FAILED, CANCELLED 또는 PAUSED입니다. 기본값은 NOT_STARTED입니다.

    • verifyJobId 문자열
    • 옵션 객체 필수 사항

      추가 속성은 허용되지 않습니다.

      옵션 속성 숨기기 옵션 속성 표시 객체
      • 제거 컬렉션 부울

        기본값은 false 입니다.

      • 모드 문자열 필수 사항

        값은 SNAPSHOT, CDC 또는 INCREMENTAL입니다.

      • errorHandling 문자열

        값은 FAIL, WARN 또는 SKIP입니다. 기본값은 FAIL입니다.

      • errorTolerance integer

        마이그레이션 종료하기 전에 허용해야 하는 장애( 기록 수준)의 횟수입니다. 값은 엄격하게 크거나 같습니다.

        최소값은 0입니다.

    • jdbcConnectionString 문자열
    • MongoDB 연결 문자열 문자열
    • submittedAt 문자열(날짜-시간) 필수 사항
    • 통계학 객체

      추가 속성은 허용되지 않습니다.

      통계 속성 숨기기 통계 속성 표시 객체
      • startedAt 문자열(날짜-시간)
      • 경과된 시간 integer(int64)
      • 나머지 테이블 수 integer
      • processingTables array[string]
      • totalEventsSeen integer(int64)

        기본값은 0 입니다.

      • snapshotCompleted 부울

        기본값은 false 입니다.

      • totalTableCount integer
      • totalEvents integer(int64)
      • totalEventSize integer(int64)
    • cdcStatistics 객체

      추가 속성은 허용되지 않습니다.

      cdcStatistics 속성 숨기기 cdcStatistics 속성 표시 객체
      • startedAt 문자열(날짜-시간)
      • lastEventTime 문자열(날짜-시간)
      • EventsInLastHour integer(int64)

        기본값은 0 입니다.

      • EventsInLastMinute integer(int64)

        기본값은 0 입니다.

      • totalEventsSeen integer(int64)

        기본값은 0 입니다.

    • failError 객체

      추가 속성은 허용되지 않습니다.

      failError 속성 숨기기 failError 속성 표시 객체
      • errorType 문자열 필수 사항
      • 메시지 문자열 필수 사항
      • failAt 문자열(날짜-시간) 필수 사항
      • setupError 부울 필수 사항

        기본값은 false 입니다.

    • metadata 객체

      추가 속성은 허용되지 않습니다.

      Hide metadata attributes 메타데이터 속성 표시 객체
      • telemetryUserId 문자열
      • verifyRequested 부울

        기본값은 false 입니다.

      • verifyStatus 문자열

        값은 VERIFYING, FAILED, CANCELLING, CANCELLED, VERIFIED 또는 ABORTED입니다.

    • RelationalTableFilters 객체

      각 키가 스키마 이름을 나타내는 객체 입니다. 각 스키마 에는 테이블 필터를 적용 할 수 있는 테이블이 포함되어 있습니다.

      RelationalTableFilters 속성 숨기기 RelationalTableFilters 속성 표시 객체
      • * 객체 additionalProperties

        각 키가 스키마 내에서 테이블 이름을 나타내는 객체 입니다.

        * 속성 숨기기 * 속성 표시 객체
        • * 객체 additionalProperties

          추가 속성은 허용되지 않습니다.

          * 속성 숨기기 * 속성 표시 객체
          • whereClause 문자열

            지정된 소스 테이블의 행을 필터하다 하는 SQL WHERE 절의 내용입니다.

          • rowCount integer(int64)

            소스 테이블에서 반환되는 행 수를 선택적으로 제한합니다.

  • 440 application/json

    연결 string 에 데이터베이스 이름이 포함되어 있지 않으므로 유효하지 않습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • jobId 문자열

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 메시지 문자열 필수 사항
    • description 문자열
    • timestamp 문자열(날짜-시간) 필수 사항
  • 470 application/json

    마이그레이션 작업이 이미 실행 중입니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • jobId 문자열

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 메시지 문자열 필수 사항
    • description 문자열
    • timestamp 문자열(날짜-시간) 필수 사항
  • 471 application/json

    작업 컨텍스트 예시 를 빌드하는 동안 오류가 발생하여 마이그레이션 작업을 시작할 수 없습니다 - 모드를 인식할 수 없거나 매핑이 존재하지 않습니다.

    응답 속성 숨기기 응답 속성 표시 객체
    • jobId 문자열

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 메시지 문자열 필수 사항
    • description 문자열
    • timestamp 문자열(날짜-시간) 필수 사항
  • 500 application/json

    내부 서버 오류

    응답 속성 숨기기 응답 속성 표시 객체
    • jobId 문자열

      형식은 ^[A-Za-z0-9\-]+$ 패턴 과 일치해야 합니다.

    • 메시지 문자열 필수 사항
    • description 문자열
    • timestamp 문자열(날짜-시간) 필수 사항
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","errorHandling":"FAIL","errorTolerance":42},"verification":{"enabled":false},"relationalTableFilters":{"schema_1_name":{"table_1_name":{"whereClause":"id \u003e 1000 AND id \u003c= 2000"},"table_2_name":{"rowCount":10,"whereClause":"TRUE"}}},"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",
    "errorHandling": "FAIL",
    "errorTolerance": 42
  },
  "verification": {
    "enabled": false
  },
  "relationalTableFilters": {
    "schema_1_name": {
      "table_1_name": {
        "whereClause": "id > 1000 AND id <= 2000"
      },
      "table_2_name": {
        "rowCount": 10,
        "whereClause": "TRUE"
      }
    }
  },
  "collectionFilters": {
    "include": [
      "string"
    ],
    "exclude": [
      "string"
    ]
  }
}
응답 예시(200)
{
  "id": "string",
  "projectId": "string",
  "status": "NOT_STARTED",
  "cdcStatus": "NOT_STARTED",
  "verificationJobId": "string",
  "options": {
    "dropCollections": false,
    "mode": "SNAPSHOT",
    "errorHandling": "FAIL",
    "errorTolerance": 42
  },
  "jdbcConnectionString": "string",
  "mongoDbConnectionString": "string",
  "submittedAt": "2025-05-04T09:42:00Z",
  "statistics": {
    "startedAt": "2025-05-04T09:42:00Z",
    "elapsedSeconds": 42,
    "remainingTableCount": 42,
    "processingTables": [
      "string"
    ],
    "totalEventsSeen": 0,
    "snapshotCompleted": false,
    "totalTableCount": 42,
    "totalEvents": 42,
    "totalEventSize": 42
  },
  "cdcStatistics": {
    "startedAt": "2025-05-04T09:42:00Z",
    "lastEventTime": "2025-05-04T09:42:00Z",
    "eventsInLastHour": 0,
    "eventsInLastMinute": 0,
    "totalEventsSeen": 0
  },
  "failureError": {
    "errorType": "string",
    "message": "string",
    "failureAt": "2025-05-04T09:42:00Z",
    "setupError": false
  },
  "metadata": {
    "telemetryUserId": "string",
    "verificationRequested": false,
    "verificationStatus": "VERIFYING"
  },
  "relationalTableFilters": {
    "schema_1_name": {
      "table_1_name": {
        "whereClause": "id > 1000 AND id <= 2000"
      },
      "table_2_name": {
        "rowCount": 10,
        "whereClause": "TRUE"
      }
    }
  }
}
응답 예시(440)
{
  "jobId": "string",
  "message": "string",
  "description": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}
응답 예시(470)
{
  "jobId": "string",
  "message": "string",
  "description": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}
응답 예시(471)
{
  "jobId": "string",
  "message": "string",
  "description": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}
응답 예시(500)
{
  "jobId": "string",
  "message": "string",
  "description": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}