InfoGrab Docs

데이터 관리 API

요약

데이터 관리 API를 사용하여 인스턴스의 데이터를 관리합니다. 인스턴스의 데이터 모델에 대한 정보를 조회합니다. :model_name 매개변수는 다음 중 하나여야 합니다: 이 엔드포인트는 모델의 기본 키에서 오름차순 또는 내림차순으로 정렬하는 키셋 페이지네이션을 지원합니다.

히스토리
  • GitLab 18.3에서 geo_primary_verification_view라는 플래그와 함께 도입. 기본적으로 비활성화됨. 이 기능은 실험 단계입니다.
  • GitLab 18.8에서 기본적으로 플래그가 활성화됩니다.

데이터 관리 API를 사용하여 인스턴스의 데이터를 관리합니다.

사전 요건:

  • 관리자여야 합니다.

모델 정보 조회#

인스턴스의 데이터 모델에 대한 정보를 조회합니다. 이 작업은 실험 단계이며 예고 없이 변경되거나 제거될 수 있습니다.

GET /admin/data_management/:model_name

:model_name 매개변수는 다음 중 하나여야 합니다:

  • ci_job_artifacts
  • ci_pipeline_artifacts
  • ci_secure_files
  • container_repositories
  • dependency_proxy_blobs
  • dependency_proxy_manifests
  • design_management_repositories
  • group_wiki_repositories
  • lfs_objects
  • merge_request_diffs
  • packages_nuget_symbols
  • packages_package_files
  • pages_deployments
  • projects
  • projects_wiki_repositories
  • snippet_repositories
  • supply_chain_attestations
  • terraform_state_versions
  • uploads

지원되는 속성:

속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
checksum_state string No 체크섬 상태로 검색. 허용되는 값: pending, started, succeeded, failed, disabled.
identifiers array No 정수 또는 base64 인코딩 문자열일 수 있는 요청된 모델의 고유 식별자 배열로 결과를 필터링합니다.

이 엔드포인트는 모델의 기본 키에서 오름차순 또는 내림차순으로 정렬하는 키셋 페이지네이션을 지원합니다. 키셋 페이지네이션을 사용하려면 요청에 pagination=keyset 매개변수를 추가합니다. 기본적으로 키셋 페이지네이션은 오름차순으로 페이지당 20개의 레코드를 로드합니다. 쿼리 매개변수 sort와 값 asc 또는 desc로 정렬 순서를 수정할 수 있습니다. 페이지당 레코드 수를 선택하려면 per_page 매개변수를 사용합니다.

성공하면 200과 모델에 대한 정보를 반환합니다. 다음 응답 속성이 포함됩니다:

속성 유형 설명
checksum_information JSON 사용 가능한 경우 Geo 특정 체크섬 정보.
created_at timestamp 사용 가능한 경우 생성 타임스탬프.
file_size integer 사용 가능한 경우 객체 크기.
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects?pagination=keyset"

응답 예시:

[
  {
    "record_identifier": 1,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:10.173Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.643Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  },
  {
    "record_identifier": 2,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:14.402Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.214Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  }
]

모델 레코드의 체크섬 재계산#

checksum_stateidentifiers 매개변수가 제공된 경우 이를 기준으로 필터링하여 지정된 모델의 선택된 레코드에 대한 체크섬을 재계산합니다. 요청은 재계산을 수행하기 위한 백그라운드 작업을 큐에 넣습니다.

PUT /admin/data_management/:model_name/checksum
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
checksum_state string No 체크섬 상태로 필터링. 허용되는 값: pending, started, succeeded, failed, disabled.
identifiers array No 정수 또는 base64 인코딩 문자열일 수 있는 요청된 모델의 고유 식별자 배열로 레코드를 필터링합니다.

성공하면 200과 다음 정보가 포함된 JSON 응답을 반환합니다:

속성 유형 설명
message string 성공 또는 오류에 대한 정보 메시지.
status string "success" 또는 "error"일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/checksum"

응답 예시:

{
  "status": "success",
  "message": "Batch update job has been successfully enqueued."
}

모델 레코드에 대한 정보 조회#

지정된 모델 레코드에 대한 정보를 조회합니다.

GET /admin/data_management/:model_name/:id
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
record_identifier string or integer Yes 요청된 모델의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.

성공하면 200과 특정 모델 레코드에 대한 정보를 반환합니다. 다음 응답 속성이 포함됩니다:

속성 유형 설명
checksum_information JSON 사용 가능한 경우 Geo 특정 체크섬 정보.
created_at timestamp 사용 가능한 경우 생성 타임스탬프.
file_size integer 사용 가능한 경우 객체 크기.
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<object checksum>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

모델 레코드의 체크섬 재계산#

지정된 모델 레코드의 체크섬을 재계산합니다. 체크섬 값은 md5 또는 sha256 알고리즘으로 해시된 쿼리된 모델의 표현입니다.

PUT /admin/data_management/:model_name/:record_identifier/checksum
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
record_identifier string or integer Yes 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다 (GET 쿼리의 응답에서 가져옴).

성공하면 200과 특정 모델 레코드에 대한 정보를 반환합니다.

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1/checksum"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<sha256 or md5 string>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

데이터 관리 API

Tier: Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기
요약

데이터 관리 API를 사용하여 인스턴스의 데이터를 관리합니다. 인스턴스의 데이터 모델에 대한 정보를 조회합니다. :model_name 매개변수는 다음 중 하나여야 합니다: 이 엔드포인트는 모델의 기본 키에서 오름차순 또는 내림차순으로 정렬하는 키셋 페이지네이션을 지원합니다.

히스토리
  • GitLab 18.3에서 geo_primary_verification_view라는 플래그와 함께 도입. 기본적으로 비활성화됨. 이 기능은 실험 단계입니다.
  • GitLab 18.8에서 기본적으로 플래그가 활성화됩니다.

데이터 관리 API를 사용하여 인스턴스의 데이터를 관리합니다.

사전 요건:

  • 관리자여야 합니다.

모델 정보 조회#

인스턴스의 데이터 모델에 대한 정보를 조회합니다. 이 작업은 실험 단계이며 예고 없이 변경되거나 제거될 수 있습니다.

GET /admin/data_management/:model_name

:model_name 매개변수는 다음 중 하나여야 합니다:

  • ci_job_artifacts
  • ci_pipeline_artifacts
  • ci_secure_files
  • container_repositories
  • dependency_proxy_blobs
  • dependency_proxy_manifests
  • design_management_repositories
  • group_wiki_repositories
  • lfs_objects
  • merge_request_diffs
  • packages_nuget_symbols
  • packages_package_files
  • pages_deployments
  • projects
  • projects_wiki_repositories
  • snippet_repositories
  • supply_chain_attestations
  • terraform_state_versions
  • uploads

지원되는 속성:

속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
checksum_state string No 체크섬 상태로 검색. 허용되는 값: pending, started, succeeded, failed, disabled.
identifiers array No 정수 또는 base64 인코딩 문자열일 수 있는 요청된 모델의 고유 식별자 배열로 결과를 필터링합니다.

이 엔드포인트는 모델의 기본 키에서 오름차순 또는 내림차순으로 정렬하는 키셋 페이지네이션을 지원합니다. 키셋 페이지네이션을 사용하려면 요청에 pagination=keyset 매개변수를 추가합니다. 기본적으로 키셋 페이지네이션은 오름차순으로 페이지당 20개의 레코드를 로드합니다. 쿼리 매개변수 sort와 값 asc 또는 desc로 정렬 순서를 수정할 수 있습니다. 페이지당 레코드 수를 선택하려면 per_page 매개변수를 사용합니다.

성공하면 200과 모델에 대한 정보를 반환합니다. 다음 응답 속성이 포함됩니다:

속성 유형 설명
checksum_information JSON 사용 가능한 경우 Geo 특정 체크섬 정보.
created_at timestamp 사용 가능한 경우 생성 타임스탬프.
file_size integer 사용 가능한 경우 객체 크기.
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects?pagination=keyset"

응답 예시:

[
  {
    "record_identifier": 1,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:10.173Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.643Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  },
  {
    "record_identifier": 2,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:14.402Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.214Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  }
]

모델 레코드의 체크섬 재계산#

checksum_stateidentifiers 매개변수가 제공된 경우 이를 기준으로 필터링하여 지정된 모델의 선택된 레코드에 대한 체크섬을 재계산합니다. 요청은 재계산을 수행하기 위한 백그라운드 작업을 큐에 넣습니다.

PUT /admin/data_management/:model_name/checksum
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
checksum_state string No 체크섬 상태로 필터링. 허용되는 값: pending, started, succeeded, failed, disabled.
identifiers array No 정수 또는 base64 인코딩 문자열일 수 있는 요청된 모델의 고유 식별자 배열로 레코드를 필터링합니다.

성공하면 200과 다음 정보가 포함된 JSON 응답을 반환합니다:

속성 유형 설명
message string 성공 또는 오류에 대한 정보 메시지.
status string "success" 또는 "error"일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/checksum"

응답 예시:

{
  "status": "success",
  "message": "Batch update job has been successfully enqueued."
}

모델 레코드에 대한 정보 조회#

지정된 모델 레코드에 대한 정보를 조회합니다.

GET /admin/data_management/:model_name/:id
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
record_identifier string or integer Yes 요청된 모델의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.

성공하면 200과 특정 모델 레코드에 대한 정보를 반환합니다. 다음 응답 속성이 포함됩니다:

속성 유형 설명
checksum_information JSON 사용 가능한 경우 Geo 특정 체크섬 정보.
created_at timestamp 사용 가능한 경우 생성 타임스탬프.
file_size integer 사용 가능한 경우 객체 크기.
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<object checksum>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

모델 레코드의 체크섬 재계산#

지정된 모델 레코드의 체크섬을 재계산합니다. 체크섬 값은 md5 또는 sha256 알고리즘으로 해시된 쿼리된 모델의 표현입니다.

PUT /admin/data_management/:model_name/:record_identifier/checksum
속성 유형 필수 설명
model_name string Yes 요청된 모델의 복수화된 이름. 위의 :model_name 목록에 속해야 합니다.
record_identifier string or integer Yes 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열일 수 있습니다 (GET 쿼리의 응답에서 가져옴).

성공하면 200과 특정 모델 레코드에 대한 정보를 반환합니다.

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1/checksum"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<sha256 or md5 string>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}