콘텐츠로 이동

워크스페이스 리소스 작업 상태 조회



GET /api/v1/workspace/resource/query_action_status

개요

워크스페이스 리소스 가져오기/내보내기 작업 상태 조회

Query 요청 매개변수

매개변수명 유형 필수 설명
taskId string Y 작업 ID
예시: task_xxx
빈 값 허용: False

매개변수 추가 설명

1. API 용도

워크스페이스 리소스 가져오기 또는 내보내기 작업의 실행 상태를 조회합니다.

로그 인덱스 가져오기 실패 시 HTTP 400과 원래 비즈니스 오류 코드/원인이 반환되며, content.import_info.failedItems에 resourceType, fileName, name, errorCode, message가 포함됩니다. 동일한 import_info에 successCount, failCount가 유지되고, 성공적으로 변환된 새 인덱스 convertedItems(파일, 인덱스 이름, 필드 및 from/to)가 필요에 따라 반환됩니다. 지원하지 않는 인덱스 모드는 항목 전체가 건너뛰어지며, skippedItems는 리소스 유형, 파일, 리소스 이름 name, 구체적인 인덱스 이름 indexName, reason=unsupportedIndexMode, 오류 코드 및 원인을 반환하고, skippedCount는 동일 이름 및 지원하지 않는 모드의 총 건너뛴 수입니다. 건너뛴 항목은 성공 또는 실패에 포함되지 않으며, 건너뛴 항목만 있는 경우 status=ok로 정상 반환됩니다. 기존 작업 캐시는 기존 동작을 유지합니다. 부분 실패는 이미 성공한 리소스의 롤백을 의미하지 않습니다.

반환 구조는 프런트엔드 API와 동일하며, 다음에 적합합니다.

  • 내보내기 작업 결과 조회
  • 가져오기 작업 결과 조회
  • 오류 코드 및 실패 정보 조회

2. 일반적인 상태 값

상태 값 설명
start 작업이 생성되었으며 아직 실행되지 않음
running 작업 실행 중
ok 작업 실행 성공
error 작업 실행 실패
cancel 작업이 취소됨

3. 일반적인 반환 필드 설명

필드명 설명
status 현재 작업 상태
action 작업 유형, 일반적으로 import 또는 export
message 추가 설명
error_code 실패 시 오류 코드
import_info 가져오기/내보내기 통계 및 실패 정보
name_list 일부 작업에 포함된 리소스 이름 목록
url 내보내기 성공 후 반환되는 단기 정적 ZIP 다운로드 주소

4. 내보내기 작업 조회 설명

내보내기 작업이 성공하면 상태가 ok가 되고 url에 전체 단기 정적 ZIP 다운로드 주소가 반환됩니다. 호출자는 해당 주소를 사용하여 스트리밍 방식으로 resource.zip을 직접 다운로드할 수 있으며, 다른 Studio API 주소로 변환할 필요가 없습니다.

상태 조회 시 taskId에 해당하는 작업 생성자와 워크스페이스를 검증합니다. 정적 파일 다운로드 요청 자체는 더 이상 DF-API-KEY 인증을 수행하지 않습니다. 전체 다운로드 주소를 기록하거나 전달하거나 장기간 저장하지 말고, 작업 유효 기간 내에 가능한 한 빨리 다운로드를 완료하세요.

SLO 리소스 번들 또는 워크스페이스 리소스 내보내기가 완료된 후 import_info.exportInfo를 확인할 수 있습니다. 내보내기 과정에서 일부 객체가 실패한 경우 리소스 수준 상세 정보를 우선 사용하세요.

{
  "result": "partial",
  "permissionDeniedResourceCount": 1,
  "otherSkippedResourceCount": 1,
  "resourceFailureInfo": {
    "schemaVersion": 1,
    "totalCount": 2,
    "permissionDeniedCount": 1,
    "otherCount": 1,
    "byReason": {
      "permission_denied": 1,
      "serialize_failed": 1
    },
    "items": [
      {
        "resourceType": "checker",
        "resourceUUID": "rul_xxx",
        "resourceName": "결제 가용성 검사기",
        "reasonCategory": "permission",
        "reasonCode": "permission_denied",
        "affectedSloList": [
          {
            "sloUUID": "monitor_xxx",
            "sloName": "결제 가용성 SLO"
          }
        ]
      }
    ]
  }
}

실패 원인 코드에는 permission_denied, dependency_not_found, resource_not_found, serialize_failed, unsupported_resource, unknown이 있습니다.

기존 클라이언트는 다음도 계속 확인할 수 있습니다.

import_info.exportFailedInfo

5. 가져오기 작업 조회 설명

가져오기 작업이 성공하면 일반적으로 import_info에서 다음을 확인할 수 있습니다.

  • successCount
  • failCount

일부 리소스의 상세 실패 원인은 error_code 또는 가져오기 작업 내부 오류 통계에 반영됩니다.


6. 폴링 권장 사항

상태가 다음 중 하나로 바뀔 때까지 2~5초 간격으로 폴링하는 것을 권장합니다.

  • ok
  • error
  • cancel

요청 예시

curl 'https://openapi.guance.com/api/v1/workspace/resource/query_action_status?taskId=task_xxx' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--compressed

응답

{
    "code": 200,
    "content": {
        "status": "ok",
        "action": "export",
        "error_code": "",
        "import_info": {},
        "url": "https://static.example.com/temporary/random_task/resource.zip"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-XXXX"
}

문서 평가

이 페이지가 도움이 되었나요?