0%

获取 AceDataCloud 平台 API 调用量导出

异步生成包含所选时间段内全部业务接口调用流水的 CSV 文件,并返回下载 URL。适合月度对账、给财务出 BI 报表、给第三方审计师交付明细等场景。

📌 调用记录数量超过 1 万条时强烈建议用本接口而不是分页拉取调用记录列表——服务端生成 CSV 更快。

ℹ️ 本接口属于 AceDataCloud 平台管理 API,统一前缀 https://platform.acedata.cloud/api/v1/

接口概览

内容
方法 POST
URL https://platform.acedata.cloud/api/v1/usages/export/
鉴权 ✅ 需要账户令牌
Content-Type application/json

鉴权说明(如何获取账户令牌)

请求头:

1
Authorization: Bearer platform-v1-92eb****629c

获取方式见管理 AceDataCloud 平台账户令牌

请求体

字段 类型 必填 说明
user_id UUID 当前账户用户 ID(同样在 Body 里,不在 query 里)
start_at datetime 起始时间(ISO8601)
end_at datetime 结束时间(ISO8601)。单次导出窗口建议 ≤ 90 天
application_id UUID 按 Application 过滤
service_id UUID 按服务过滤
credential_id UUID 按凭证过滤
status_code integer 按 HTTP 状态码过滤

请求示例

cURL

1
2
3
4
5
6
7
8
9
curl -X POST 'https://platform.acedata.cloud/api/v1/usages/export/' \
-H 'accept: application/json' \
-H 'authorization: Bearer platform-v1-92eb****629c' \
-H 'content-type: application/json' \
-d '{
"user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b",
"start_at": "2026-04-01T00:00:00Z",
"end_at": "2026-04-30T23:59:59Z"
}'

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import requests
import time

PLATFORM_TOKEN = "platform-v1-92eb****629c"
USER_ID = "89518d07-5560-4b05-92c1-667f3ddf6a4b"

# 1. 发起导出任务
resp = requests.post(
"https://platform.acedata.cloud/api/v1/usages/export/",
headers={
"authorization": f"Bearer {PLATFORM_TOKEN}",
"content-type": "application/json",
},
json={
"user_id": USER_ID,
"start_at": "2026-04-01T00:00:00Z",
"end_at": "2026-04-30T23:59:59Z",
},
timeout=30,
)
task = resp.json()
print(f"导出任务已创建:{task['id']}, 状态: {task['state']}")

# 2. 轮询状态直至生成完成
while task["state"] in ("Pending", "Processing"):
time.sleep(2)
task = requests.get(
f"https://platform.acedata.cloud/api/v1/usages/export/{task['id']}",
headers={"authorization": f"Bearer {PLATFORM_TOKEN}"},
).json()

if task["state"] == "Completed":
print(f"✅ 导出完成,下载 URL: {task['file_url']}")
else:
print(f"❌ 导出失败:{task.get('error')}")

Node.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const r = await fetch('https://platform.acedata.cloud/api/v1/usages/export/', {
method: 'POST',
headers: {
authorization: 'Bearer platform-v1-92eb****629c',
'content-type': 'application/json',
},
body: JSON.stringify({
user_id: '89518d07-5560-4b05-92c1-667f3ddf6a4b',
start_at: '2026-04-01T00:00:00Z',
end_at: '2026-04-30T23:59:59Z',
}),
})
const task = await r.json()
console.log('任务 ID:', task.id)

响应示例(HTTP 202)

1
2
3
4
5
6
7
8
9
10
{
"id": "exp-9c8b7a6d5e4f3a2b1c0d",
"user_id": "89518d07-5560-4b05-92c1-667f3ddf6a4b",
"state": "Pending",
"start_at": "2026-04-01T00:00:00Z",
"end_at": "2026-04-30T23:59:59Z",
"file_url": null,
"expires_at": null,
"created_at": "2026-04-26T08:30:00Z"
}

完成后 state 变为 Completedfile_url 包含 CSV 下载链接(一般 24h 内有效)。

响应字段说明

字段 类型 说明
id string 导出任务 ID
state string Pending / Processing / Completed / Failed
file_url string \ null 完成后的 CSV 下载 URL(一般 24h 内有效)
expires_at string \ null 下载 URL 失效时间
start_at string 导出窗口起始
end_at string 导出窗口结束
error string \ null 失败原因(仅 state=Failed 时返回)

CSV 列定义

file_url 下载的 CSV 文件含以下列(首行为表头):

1
created_at, application_id, service_id, credential_id, api_id, method, path, status_code, consumption, duration_ms, client_ip, request_id

字段含义同调用记录列表

错误处理

HTTP code 含义
400 invalid user_id / start_at / end_at 缺失或格式错误
400 window_too_large 时间窗口超过限制(默认 90 天)
401 not_authenticated 缺少账户令牌
403 permission_denied user_id 不是你的

实用提示

  • 大窗口分段导出:跨年导出建议按月分多次任务。
  • 下载 URL 有时效:一般 24 小时;过期需重新发起导出任务。
  • 不要把 file_url 写在前端代码里:URL 含签名,应在后端转存到自己的存储再分发给用户。
  • CSV 编码 UTF-8 BOM:Excel 直接打开中文不乱码。

相关接口