Ứng dụng đo từ xa là một ứng dụng tương tác với Dịch vụ đo từ xa để định cấu hình việc thu thập dữ liệu, quản lý cấu hình chỉ số và nhận báo cáo đo từ xa. Ứng dụng sử dụng thư viện Rust libsdv_telemetry_rust_wrapper để tương tác với dịch vụ.
Tổng quan về nền tảng API
Hãy xem Tài liệu tham khảo API thư viện ứng dụng đo từ xa Rust để biết tài liệu về API.
Thư viện này cung cấp một giao diện Rust để tương tác với Dịch vụ đo từ xa cơ bản. Thư viện này chịu trách nhiệm về các lĩnh vực sau:
Quản lý vòng đời dịch vụ: Quản lý kết nối với Dịch vụ đo từ xa.
- Khởi chạy: Thiết lập kết nối với dịch vụ bằng lệnh gọi chặn. Sau khi kết nối, bạn có thể đăng ký lệnh gọi lại để nhận thông báo không đồng bộ về trạng thái hệ thống và tính sẵn có của báo cáo mới.
- Tắt: Cung cấp cách ngắt kết nối đúng cách với dịch vụ và dọn dẹp tất cả tài nguyên được liên kết.
Quản lý vòng đời cấu hình chỉ số: Cho phép kiểm soát vòng đời của cấu hình chỉ số.
- Quản lý: Ứng dụng có thể thêm, xoá, kích hoạt và huỷ kích hoạt cấu hình chỉ số.
- Kiểm tra: Bạn có thể truy vấn danh sách cấu hình đang hoạt động và không hoạt động.
Xử lý và truy xuất báo cáo: Tạo điều kiện truy cập vào dữ liệu do Dịch vụ đo từ xa thu thập.
- Thông báo: Thông báo cho ứng dụng một cách không đồng bộ bằng lệnh gọi lại bất cứ khi nào có báo cáo chỉ số mới sẵn sàng để truy xuất.
- Quyền truy cập dữ liệu: Cung cấp các phương thức để tìm nạp báo cáo cụ thể theo mã nhận dạng duy nhất (UUID) và truy xuất danh sách tất cả báo cáo hiện có.
Báo cáo trạng thái và lỗi: Cung cấp thông tin chi tiết về tình trạng và trạng thái của Dịch vụ đo từ xa.
- Thông tin cập nhật về trạng thái không đồng bộ: Ứng dụng nhận thông tin cập nhật về trạng thái theo thời gian thực, bao gồm cả lỗi và cảnh báo, thông qua lệnh gọi lại chuyên dụng. Nhờ đó, bạn có thể triển khai biện pháp xử lý lỗi hữu ích và theo dõi trạng thái của dịch vụ.
Ví dụ về cách sử dụng
Để xem ứng dụng hoàn chỉnh có thể biên dịch minh hoạ toàn bộ vòng đời, hãy xem cách triển khai ứng dụng mẫu: samples/telemetry/client/rust/telemetry_client/telemetry_rust_c_client.rs.
Ứng dụng mẫu là một tiện ích dòng lệnh tương tác với API thư viện đầy đủ. Mẫu này minh hoạ cách kết nối giao diện dựa trên lệnh gọi lại của thư viện với thời gian chạy Rust không đồng bộ (Tokio) bằng các kênh.
Ứng dụng thực hiện trình tự thao tác sau:
- Thiết lập kết nối với Dịch vụ đo từ xa và đăng ký lệnh gọi lại cho thông tin cập nhật về trạng thái và thông báo báo cáo chỉ số.
- Đọc các tệp cấu hình chỉ số được cung cấp dưới dạng đối số dòng lệnh, sau đó thêm và kích hoạt các cấu hình trong dịch vụ.
- Sử dụng một tác vụ nền để ghi lại các thông báo trạng thái không đồng bộ (lỗi hoặc cảnh báo) nhận được từ dịch vụ.
- Quản lý vòng lặp truy xuất dữ liệu bằng cách thực hiện các thao tác sau:
- Chờ thông báo cho biết báo cáo chỉ số đã sẵn sàng.
- Tìm nạp dữ liệu báo cáo chỉ số đầy đủ.
- Tuỳ ý ghi báo cáo vào đĩa dưới dạng tệp bộ đệm giao thức nhị phân.
- Xoá cấu hình chỉ số khỏi dịch vụ sau khi dịch vụ tạo báo cáo chỉ số đầu tiên. Xin lưu ý rằng đây là bản triển khai minh hoạ và ứng dụng của riêng bạn có thể nhận được bất kỳ số lượng báo cáo nào.
- Đóng kết nối với dịch vụ đúng cách.