删除
使用 Delete API 删除符合条件的行或整个表。删除后无法恢复。
删除 https://api.telemetry.sh/delete
标题
| 名称 | 类型 | 描述 |
|---|---|---|
| 内容类型 | 字符串 | 应用程序/json |
| 授权 | 字符串 | 您的 API 密钥,作为原始密钥或 Bearer <key> |
范围规则:
DELETE /delete需要write或read-and-write
身体
| 名称 | 类型 | 描述 |
|---|---|---|
| 表 | 字符串 | 您要从中删除数据的表 |
| 哪里 | 字符串(可选) | 用于删除哪些行的 SQL 子句 |
如果省略 where,则 Telemetry 将请求视为全表删除。
成功回应
删除响应是异步清理确认。一旦成功安排删除重写或表禁用步骤,API 就会返回 200 OK。
删除匹配的行
{
"status": "success",
"message": "Delete rewrite completed; part cleanup is asynchronous"
}
删除整个表
{
"status": "success",
"message": "Table disabled; part cleanup is asynchronous"
}
cURL 的使用示例
要使用 cURL 从名为 uber_rides 的表中删除超过 3 天的所有行,可以使用以下命令:
API_KEY="YOUR_API_KEY"
WHERE_CONDITION="timestamp <= (now() - INTERVAL '3 day')"
curl -X DELETE https://api.telemetry.sh/delete \
-H "Content-Type: application/json" \
-H "Authorization: $API_KEY" \
-d @- <<EOF
{
"table": "uber_rides",
"where": "$WHERE_CONDITION"
}
EOF
如果要删除整个 uber_rides 表,只需省略 where 字段即可:
API_KEY="YOUR_API_KEY"
curl -X DELETE https://api.telemetry.sh/delete \
-H "Content-Type: application/json" \
-H "Authorization: $API_KEY" \
-d '{
"table": "uber_rides"
}'
重要提示
- 数据删除: 使用删除端点时要小心。如果不提供
where条件,则整个表将被删除。 - **不可逆性:**数据一旦删除,就无法恢复。
- 旧端点: 如果可能,首选表 API 进行全表生命周期操作。
DELETE /delete对于使用where子句的行级删除仍然有用。
常见错误
400 Bad Request如果 JSON 主体无效400 Bad Request如果表名规范化后包含无效字符403 Forbidden如果 API 密钥仅具有read范围401 Unauthorized(如果 API 密钥丢失或无效)404 Not Found如果您尝试从尚无架构的表中删除行500 Internal Server Error如果 Telemetry 执行删除请求失败