워크스페이스 리소스 작업 상태 조회¶
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이 있습니다.
기존 클라이언트는 다음도 계속 확인할 수 있습니다.
5. 가져오기 작업 조회 설명
가져오기 작업이 성공하면 일반적으로 import_info에서 다음을 확인할 수 있습니다.
successCountfailCount
일부 리소스의 상세 실패 원인은 error_code 또는 가져오기 작업 내부 오류 통계에 반영됩니다.
6. 폴링 권장 사항
상태가 다음 중 하나로 바뀔 때까지 2~5초 간격으로 폴링하는 것을 권장합니다.
okerrorcancel
요청 예시¶
curl 'https://openapi.guance.com/api/v1/workspace/resource/query_action_status?taskId=task_xxx' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--compressed