Tool Name: airdroid_business_file_batch_upload_result_search
Risk Level: 🟢 Read
Execution Mode: âš¡ Synchronous
Category: File Management
Quick Start (Copy & Use)
Summary: Query per-device/per-file upload records for a batch started by Batch Upload Qiniu Files (or a retry log from Retry Batch Qiniu File Upload).
Prerequisites: OperationLogId from the upload or retry action.
Success Criteria: StatusCode == 200 and ErrorMessage is empty; inspect UploadResults and Pagination.
What to Do Next: Repeat with higher PageIndex while page_index < last_page; filter failed rows and call Retry Batch Qiniu File Upload if needed.
Minimal Request Example:
{
"OperationLogId": 12345678,
"PageIndex": 1,
"PageSize": 100
}
Minimal Response Example:
{
"UploadResults": [],
"Pagination": {
"total": 0,
"page_size": 100,
"page_index": 1,
"last_page": 1
},
"OriginalStatusCode": 200,
"StatusCode": 200,
"ErrorMessage": "",
"Hint": "",
"Retryable": false
}
Recipes (Common Recipes)
Recipe 1: First Page, All Records
When to use: Right after batch upload returns OperationLogId.
{
"OperationLogId": 1770854462319857000,
"PageIndex": 1,
"PageSize": 100
}
Recipe 2: Only Failures
When to use: Triage before retry.
{
"OperationLogId": 1770854462319857000,
"PageIndex": 1,
"PageSize": 100,
"Filter": {
"status": { "in": ["failed", "uploading"] }
}
}
Filter.status accepts English names or numeric aliases. The action normalizes 0 to pending, 1 to uploading, 2 to resumed, 3 to success, and 4 to failed for eq and in filters.
Recipe 3: Paginate Large Batches
When to use: Pagination.last_page > 1.
{
"OperationLogId": 1770854462319857000,
"PageIndex": 2,
"PageSize": 100
}
Increment PageIndex until page_index >= last_page.
1. Overview
1.1 Description
Read-only poll of file batch upload progress and outcomes tied to one operation log ID.
1.2 When to Use
- Monitor progress after Batch Upload Qiniu Files
- List failed uploads before Retry Batch Qiniu File Upload
- Verify all rows reached success before closing a workflow
1.3 Execution Mode and Response
Synchronous, idempotent reads. Repeat the query as needed until the returned statuses stabilize.
1.4 Prerequisites
| Condition | Description |
|---|---|
| Valid OperationLogId | From upload or retry action for this account |
| Batch Upload Files read permission | Required |
1.5 Prerequisite Tools
| Tool | Purpose |
|---|---|
| Batch Upload Qiniu Files | Creates the log ID to query |
1.6 Similar Tools
| Tool | Use instead when |
|---|---|
| Search File Batch Send Results | File send batch, not upload |
| Search File Batch Delete Results | File delete batch |
2. Inputs
2.1 Parameter List
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| OperationLogId | number | Yes | — | Log ID from upload/retry |
| PageIndex | number | No | 1 | 1-based page |
| PageSize | number | No | 100 | 1–100 |
| Filter | object | No | {} | AND filters on supported fields |
2.2 Parameter Details
`Filter`
Supported fields (from tool contract):
| Field | Operators | Notes |
|---|---|---|
| status | eq, in | English: pending, uploading, resumed, success, failed; aliases 0, 1, 2, 3, 4 are normalized to those values respectively |
| device_id | eq, like, in | Device identifier |
| device_name | eq, like, in | Display name |
| filename | eq, like, in | File name on device |
| create_time | eq, gt, gte, lt, lte, between | Unix timestamp (seconds) |
Examples:
{ "status": { "eq": "success" } }
{
"status": { "in": ["failed", "uploading"] },
"device_name": { "like": "Pixel" }
}
2.3 Parameter Combination Logic
- Top-level filter fields combine with AND.
- Nested $and / $or supported per service rules.
3. Outputs
3.1 Response Example (Mixed Rows)
{
"UploadResults": [
{
"device_id": "device-a1b2c3",
"device_name": "Office Tablet A",
"key_prefix": "Office Tablet A/2026-06-01/",
"filename": "report.pdf",
"path": "/storage/emulated/0/Download/report.pdf",
"filesize": 1048576,
"uploaded_size": 1048576,
"status": "success",
"upload_time": 1717209600,
"cost_time": 12,
"error_info": "",
"error_code": 0,
"error_level": "file",
"file_type": "pdf",
"cloud_type": "qiniu",
"create_time": "2026-06-01 10:00:00"
},
{
"device_id": "device-x9y8z7",
"device_name": "Warehouse Tablet B",
"key_prefix": "Warehouse Tablet B/2026-06-01/",
"filename": "",
"path": "",
"filesize": 0,
"uploaded_size": 0,
"status": "failed",
"upload_time": 0,
"cost_time": 0,
"error_info": "Device upload failed",
"error_code": 1001,
"error_level": "device",
"file_type": "",
"cloud_type": "qiniu",
"create_time": "2026-06-01 10:05:00"
}
],
"Pagination": {
"total": 10,
"page_size": 100,
"page_index": 1,
"last_page": 1
},
"OriginalStatusCode": 200,
"StatusCode": 200,
"ErrorMessage": "",
"Hint": "",
"Retryable": false
}
Each UploadResults[] item includes device_id, device_name, key_prefix, filename, path, filesize, uploaded_size, status, upload_time, cost_time, error_info, error_code, error_level (device or file), file_type, cloud_type, and create_time.
Device-level failure often has empty filename/path and error_info like Device upload failed.
3.2 Field Descriptions
| Field | Type | Description |
|---|---|---|
| UploadResults | object-array | Matching records; empty array if none |
| Pagination.total | number | Total matching rows |
| Pagination.page_index | number | Current page (1-based) |
| Pagination.last_page | number | Last page index |
| Pagination.page_size | number | Page size used |
| StatusCode | number | 200 + empty ErrorMessage = query OK |
| ErrorMessage | string | Empty on success |
3.3 Status Enum (`UploadResults[].status`)
| Value | Meaning |
|---|---|
| pending | Not started |
| uploading | In progress |
| resumed | Resumed after interrupt |
| success | Completed |
| failed | Failed (see error_info / error_level) |
4. Examples
4.1 Missing OperationLogId
Request: omit OperationLogId
Response: StatusCode -1, message that OperationLogId is required.
4.2 Numeric Status Alias
Request: { "Filter": { "status": { "eq": 3 } } }
Response: The action normalizes 3 to success before sending the filter upstream.
5. Error Handling
5.1 StatusCode Semantics
| StatusCode | Agent action |
|---|---|
| -1 | Fix OperationLogId, PageIndex, PageSize, or Filter |
| 200 | Empty ErrorMessage = query succeeded (empty results still OK) |
| 500 | Network/service—check Retryable |
5.2 Common Errors
| Situation | Fix |
|---|---|
| Wrong log ID | Use ID from latest upload/retry response |
| Unsupported status filter value | Use a listed English status name or numeric alias 0 through 4 |
| Plan/permission | Enable Batch Upload Files read access |
5.3 Polling Strategy
- Continue querying while any row is pending, uploading, or resumed.
- Stop when all rows are success or accepted failed, or after workflow timeout.
6. Best Practices
6.1 Performance
- Default PageSize=100; increase pages instead of huge single filters when possible.
- Filter by status before exporting large result sets.
6.2 Security
- 🟢 Read-only; results may contain file paths and device names—handle as operational data.
7. Related Tools
| Tool | Role |
|---|---|
| Batch Upload Qiniu Files | Creates operation log |
| Retry Batch Qiniu File Upload | New log after failures |
8. Tool Chains
8.1 Upload Monitor Loop
Batch Upload Qiniu Files → [loop] Search File Batch Upload Results (PageIndex 1..last_page) → Retry Batch Qiniu File Upload (if failed) → Search File Batch Upload Results (RetryOperationLogId)
Appendix Reference:
Leave a Reply.