삭제
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절을 사용한 행 수준 삭제에 여전히 유용합니다.
일반적인 오류
- JSON 본문이 유효하지 않은 경우
400 Bad Request - 정규화 후 테이블 이름에 잘못된 문자가 포함된 경우
400 Bad Request - API 키에
read범위만 있는 경우403 Forbidden - API 키가 없거나 잘못된 경우
401 Unauthorized - 아직 스키마가 없는 테이블에서 행을 삭제하려고 하는 경우
404 Not Found - Telemetry가 삭제 요청을 실행하지 못한 경우
500 Internal Server Error