Bài viết này hướng dẫn cách chọn đối tượng đồng bộ và lựa chọn dữ liệu từ nguồn khi cấu hình nguồn dữ liệu trong Data Flow. Người dùng sẽ nắm được các bước cần thiết để cấu hình bảng dữ liệu, xác định kiểu đồng bộ phù hợp, cũng như kiểm tra tính hợp lệ của field và kiểu dữ liệu trước khi mapping dữ liệu.
Chọn đối tượng đồng bộ
Khi cấu hình đồng bộ dữ liệu, cần chọn đúng Đối tượng và Loại dữ liệu để hệ thống xử lý dữ liệu theo đúng thứ tự:
- Đối tượng: Là phần thông tin chính sẽ được ghi nhận trước. Hệ thống sẽ tạo mới hoặc cập nhật dữ liệu cho đối tượng đầu tiên.
- Loại dữ liệu: Là phần thông tin có liên quan đến đối tượng, chỉ có khi đối tượng là Profile/ Công ty. Sau khi xử lý xong đối tượng, hệ thống sẽ tiếp tục tạo mới hoặc cập nhật phần dữ liệu này và tự động liên kết nó với đối tượng đã chọn.
- Kiểu nhập dữ liệu: Chỉ có khi đối tượng là Cơ hội bán/ Ticket. Gồm 2 kiểu nhập dữ liệu là Thêm mới và Cập nhật
Ví dụ:
- Nếu chọn Đối tượng = Profile, Loại dữ liệu = Cơ hội bán → Hệ thống sẽ tạo mới / cập nhật Profile trước, rồi đến Cơ hội bán, và gắn Cơ hội bán với Profile đó.
- Nếu chọn Đối tượng = Cơ hội bán, Loại dữ liệu = Profile → Hệ thống sẽ tạo mới / cập nhật Cơ hội bán trước, rồi đến Profile, sau đó gán Profile vào Cơ hội bán.
Bài viết này sẽ mô tả cách thức chọn đối tượng và loại dữ liệu khi cấu hình đồng bộ dữ liệu từ nguồn qua Data Flow.
Đối tượng là Profile
Đối tượng | Loại dữ liệu | Giải nghĩa |
Profile | Thuộc tính của đối tượng | Tạo mới/ cập nhật Profile và các trường tuỳ biến của Profile |
Profile | Event tuỳ biến | Tạo mới/ cập nhật Profile và cập nhật các event (hành vi tương tác của Profile). Yêu cầu: phải cấu hình Event tuỳ biến trước khi cấu hình Data Flow |
Profile | Product Holding | Tạo mới/ cập nhật Profile và cập nhật thông tin các dòng loại sản phẩm Profile đã/ đang sử dụng Yêu cầu: phải cấu hình Sản phẩm trước khi cấu hình Data Flow |
Đối tượng là Công ty
Đối tượng | Loại dữ liệu | Giải nghĩa |
Công ty | Thuộc tính của đối tượng | Tạo mới/ cập nhật Công ty và các trường tuỳ biến của Công ty |
Công ty | Event tuỳ biến | Tạo mới/ cập nhật Công ty và cập nhật các event (hành vi tương tác của Công ty) Yêu cầu: phải cấu hình Event tuỳ biến trước khi cấu hình Data Flow |
Công ty | Product Holding | Tạo mới/ cập nhật Công ty và cập nhật thông tin các dòng loại sản phẩm Công ty đã/ đang sử dụng Yêu cầu: phải cấu hình Sản phẩm trước khi cấu hình Data Flow |
Đối tượng là Cơ hội bán/ Ticket
Đối tượng | Kiểu nhập dữ liệu | Giải nghĩa |
Cơ hội bán/ Ticket | Thêm mới | Thêm mới Cơ hội bán/ Ticket. |
Cơ hội bán/ Ticket | Cập nhật | Cập nhật Cơ hội bán/ Ticket đã tồn tại trên hệ thống dựa trên mã Cơ hội bán/ Ticket |
Lưu ý: Với connector là Contact Form, chỉ có thể chọn Thêm mới Cơ hội bán/ Ticket, không thể chọn Cập nhật.
Chọn dữ liệu từ nguồn
Đây là bước để xác định loại dữ liệu sẽ được đưa vào hệ thống Mobio. Cách cấu hình sẽ phụ thuộc vào kiểu dữ liệu đầu vào, bao gồm hai dạng phổ biến: dữ liệu bảng có cấu trúc (từ Connector Database) và dữ liệu dạng JSON (từ Connector HTTP API).
Dữ liệu bảng có cấu trúc
Chọn bảng dữ liệu
Người dùng có thể chọn dữ liệu từ table (bảng dữ liệu chuẩn) hoặc view (bảng ảo) mà Mobio có quyền đọc dữ liệu, dựa trên thông tin kết nối Connector đã cấu hình.
Nếu Database có thông tin schema để quản lý table/view, khi chọn table/view, hệ thống sẽ hiển thị thông tin schema của table/view đó.
Việc chọn bảng dữ liệu là bước bắt buộc, sau khi đã chọn Đối tượng.
Mỗi connector chỉ liên kết với một table/view duy nhất (không thể đổi sau khi lưu), nhưng cùng một table/view vẫn có thể dùng chung cho nhiều connector.
Người dùng có thể bấm “Xem chi tiết” data sample trước khi đồng bộ. Data sample hiển thị tối đa 1.000 dòng dữ liệu, có hỗ trợ cuộn ngang/dọc trong giao diện.
Trên giao diện data sample, các khóa chính (Primary key) sẽ được đánh dấu biểu tượng hình ổ khoá.
Việc lựa chọn table/view sẽ ảnh hưởng đến cơ chế đồng bộ như sau:
Loại bảng dữ liệu | Cơ chế đồng bộ |
Table | Hỗ trợ cả streaming và snapshot (nếu loại Database đó có hỗ trợ) |
View | Chỉ hỗ trợ snapshot |
Kiểm tra tên cột và kiểu dữ liệu
Mỗi Database đọc tên cột dữ liệu theo quy tắc khác nhau. Ví dụ, một số Database sử dụng chữ in hoa toàn bộ tên cột, trong khi các Database khác sử dụng chữ in thường.
Để đảm bảo tính nhất quán trong quá trình triển khai và đồng bộ dữ liệu trong Data Flow, Mobio sẽ kiểm tra tính hợp lệ của tên cột và kiểu dữ liệu trước khi đồng bộ hoặc mapping dữ liệu.
Kiểm tra tên cột
Quy tắc | Mô tả |
---|---|
Quy tắc đặt tên cột | ^[a-zA-Z][a-zA-Z0-9_]{4,}$ |
Ký tự cho phép | Chữ cái (a-z, A-Z), số (0-9), và dấu gạch dưới (_) |
Tên bắt buộc | Bắt đầu bằng chữ cái |
Độ dài tối thiểu | 5 ký tự |
Không chứa | Khoảng trắng (space) |
Kiểm tra kiểu dữ liệu
Mỗi Database có sự khác biệt data_type (về loại và số lượng). Mobio hỗ trợ một số kiểu dữ liệu phổ biến theo từng loại DB. Các kiểu dữ liệu không được hỗ trợ sẽ có cảnh báo trên giao diện Data sample và không thể mapping ở bước cấu hình tiếp theo.
Dữ liệu JSON
Đối với dữ liệu JSON, khi người dùng dán cấu trúc JSON hoặc tải file JSON lên hệ thống sẽ ghi nhận và hiển thị đúng cấu trúc đã tải lên, đồng thời kiểm tra tính hợp lệ của file JSON đó.
Tải file JSON lên hệ thống
Một file JSON hợp lệ:
- Giới hạn tối đa 2097152 ký tự (theo chuẩn của Microsoft)
- Không có lỗi cú pháp
- Giới hạn dung lượng tối đa của file JSON là 1MB
Khi upload file JSON, hệ thống sẽ kiểm tra tính hợp lệ của file. Nếu file không hợp lệ, hệ thống sẽ báo lỗi. Nếu file hợp lệ, hệ thống sẽ đọc và hiển thị cấu trúc dữ liệu.
Dán JSON vào giao diện chỉnh sửa
Khi dán JSON vào giao diện chỉnh sửa, hệ thống sẽ kiểm tra tính hợp lệ của cấu trúc JSON. JSON không hợp lệ sẽ không thể sang bước tiếp theo.
Khi muốn thay đổi file hoặc cấu trúc JSON, cần kiểm tra lại tính hợp lệ và mapping lại dữ liệu ở bước cấu hình mapping.
Các thành phần trong JSON và lỗi JSON
Các thành phần trong JSON | Quy tắc |
Giá trị trong ngoặc { } (Object) | Object tập hợp các cặp key-value được bao quanh bởi dấu ngoặc nhọn { }. Báo lỗi nếu sai: Cú pháp không hợp lệ. |
Giá trị trong ngoặc [ ] (Array) | Mảng (array) tập hợp các cặp key-value được bao quanh bởi dấu ngoặc vuông [ ]. Báo lỗi nếu sai: Cú pháp không hợp lệ. |
Giá trị trong ngoặc ” ” (String) | Chuỗi (string) tập hợp các cặp key-value được bao quanh bởi dấu ngoặc kép ” “. Báo lỗi nếu sai: Cú pháp không hợp lệ. |
Giá trị trong ngoặc {{ }} (Nested Object) | Cấu trúc này chỉ có ở một số trường thông tin base của Mobio như Giấy tờ định danh, Địa chỉ. |
Giá trị trong ngoặc [{ }] (Array Object) | – Các object từ JSON phải đồng nhất cấu trúc (VD: object 1 có name + SĐT; thì object 2 cũng phải có name + SĐT) – Mảng phải có ít nhất 1 phần tử có giá trị hợp lệ (không null, undefined, hoặc rỗng), để hệ thống xác định kiểu dữ liệu trong mảng là gì. (VD: Sở thích: [“bóng rổ”, “bơi”] → kiểu string Sở thích: [1, 2, 3] → kiểu number) Báo lỗi nếu sai: Cú pháp không hợp lệ. |