dureach.contacts.query và dureach.trade.query nhận SQL chỉ đọc trên các tập dữ liệu liên hệ và vận đơn đã được mô tả. Dùng một SELECT với các cột được phép; không hỗ trợ phép nối hoặc ghi dữ liệu.
Những khung nhìn và cột nào được phép?
| Công cụ | Khung nhìn | Cột |
|---|---|---|
dureach.contacts.query | contacts | id, full_name, job_title, company_name, company_domain, city, country |
dureach.trade.query | bol_shipments | id, source_type, trade_flow, bol_number, actual_arrival_date, shipper_name, consignee_name, product_desc |
Chỉ truy vấn các cột này. Bảng, cột hoặc tiền tố cơ sở dữ liệu không xác định trả về lỗi kiểm tra. product_desc bị cắt ngắn còn 300 ký tự trong kết quả.
Cấu trúc SQL nào được chấp nhận?
- Một câu
SELECTkèmWHERE,GROUP BY,HAVINGvàORDER BYtùy chọn. Bí danh được phép. - Phép so sánh, toán tử logic, phép toán số học,
INvới giá trị hằng vàLIKEđược hỗ trợ. - Hàm tổng hợp và hàm vô hướng:
count,sum,avg,min,max,uniqExact,lower,upper,length,coalesce,toDate,toYear,toMonth. - Bị từ chối: join, truy vấn con, CTE, hàm cửa sổ,
SETTINGS,FORMAT,LIMIT/OFFSETcủa SQL,SELECT SETTINGS,GROUP BY WITH TOTALS,INtoàn cục vàORDER BYtheo vị trí. - SQL tối đa 16 KiB UTF-8. Câu lệnh lớn hơn trả về lỗi kiểm tra trước khi thực thi.
{
"sql": "SELECT company_name, city, country FROM contacts WHERE country = 'DE' AND company_domain LIKE '%gmbh%' ORDER BY company_name, city",
"page": 1,
"limit": 25
}Từ trang 2 cần có ORDER BY. Dùng thứ tự được lược đồ công cụ hỗ trợ và thêm tiêu chí phân biệt giá trị trùng khi có. Giá trị trùng và cập nhật nguồn có thể làm hàng dữ liệu chuyển trang; kết quả có giới hạn không phải bản xuất đầy đủ.
Phân trang hoạt động như thế nào?
Dùng page (1–20) và limit (1–50). Không thêm LIMIT/OFFSET của SQL. Kết quả trả về tên cột, kiểu ClickHouse và mảng hàng có thứ tự mà không có tổng số lượng:
{
"columns": [{"name": "company_name", "type": "String"}],
"rows": [["Example GmbH"]],
"page": 1,
"limit": 25
}UUID, ngày, số thập phân và số nguyên ngoài phạm vi an toàn JSON được trả về dưới dạng chuỗi; số thực không hữu hạn được trả về dưới dạng chuỗi. Kết quả lớn hơn 1 MiB trả về result_too_large; thu hẹp danh sách cột hoặc bộ lọc rồi thử lại.
Nên xử lý lỗi như thế nào?
| Mã | Ý nghĩa | Cách khắc phục |
|---|---|---|
lỗi kiểm tra trên sql | Từ khóa, bảng, cột hoặc cấu trúc không được phép. | Giữ một câu SELECT trên khung nhìn và cột đã liệt kê; loại bỏ join, truy vấn con, CTE, SETTINGS, FORMAT và LIMIT của SQL. |
SQL exceeds 16 KiB | Câu lệnh quá lớn. | Rút ngắn mệnh đề điều kiện hoặc chia câu hỏi thành các truy vấn nhỏ hơn. |
thiếu ORDER BY ở trang 2 trở đi | Trang offset không có tính tất định. | Thêm ORDER BY kèm khóa phá trùng duy nhất. |
quota_exceeded (contacts_daily) | Ngân sách liên hệ hằng ngày đã dùng hết. | Chờ đến lúc đặt lại hoặc hỏi quản trị viên về giới hạn gói. |
result_too_large | Kết quả trên đường truyền vượt 1 MiB. | Chọn ít cột hơn, thêm bộ lọc hoặc giảm limit. |
Ghi lại request_id và mã lỗi. Không bao giờ ghi toàn bộ SQL chứa định danh khách hàng cùng với token.