ワークスペースリソースタスクの状態照会¶
GET /api/v1/workspace/resource/query_action_status
概要¶
ワークスペースリソースのインポート/エクスポートタスクの状態を照会します。
Query リクエストパラメータ¶
| パラメータ名 | タイプ | 必須 | 説明 |
|---|---|---|---|
| taskId | string | Y | タスクID 例: task_xxx 空を許可: False |
パラメータ補足説明¶
1. インターフェースの用途
ワークスペースリソースのインポートまたはエクスポートタスクの実行状態を照会します。
ログインデックスのインポートが失敗した場合は、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 が返されます。旧タスクのキャッシュは従来の動作を維持します。部分的な失敗は、成功済みリソースのロールバックを意味しません。
レスポンス構造はフロントエンドインターフェースと一致しており、以下に適用されます: - エクスポートタスクの結果照会 - インポートタスクの結果照会 - エラーコードと失敗情報の照会
2. 一般的な状態値
| 状態値 | 説明 |
|---|---|
start |
タスクは作成済みで、まだ実行が開始されていません |
running |
タスク実行中 |
ok |
タスクは正常に完了しました |
error |
タスクは失敗しました |
cancel |
タスクはキャンセルされました |
3. 一般的なレスポンスフィールドの説明
| フィールド名 | 説明 |
|---|---|
status |
現在のタスク状態 |
action |
タスクタイプ。通常は import または export |
message |
付加情報 |
error_code |
失敗時のエラーコード |
import_info |
インポート/エクスポートの統計と失敗情報 |
name_list |
一部のタスクに付随するリソース名のリスト |
url |
エクスポート成功後に返される短期有効な静的 ZIP ダウンロード URL |
4. エクスポートタスクの照会について
エクスポートタスクが成功すると、状態は ok になり、url に完全な短期有効な静的 ZIP ダウンロード URL が返されます。呼び出し元はこの URL を直接使用して resource.zip をストリーミングダウンロードでき、他の Studio API の URL に変換する必要はありません。
状態の照会では、taskId に対応するタスク作成者とワークスペースが検証されます。静的ファイルのダウンロードリクエスト自体では、DF-API-KEY 認証は実行されません。完全なダウンロード URL を記録、転送、長期保存しないでください。タスクの有効期間内にできるだけ早くダウンロードを完了してください。
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 秒ごとにポーリングし、状態が次のいずれかになるまで続けることを推奨します:
- 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