Amazon QuickSight là một giải pháp kinh doanh thông minh (BI) dựa trên máy học (ML), có thể mở rộng, không có máy chủ, giúp dễ dàng kết nối với dữ liệu của bạn, tạo bảng điều khiển tương tác, truy cập vào thông tin chuyên sâu hỗ trợ ML và chia sẻ hình ảnh cũng như bảng điều khiển với hàng chục nghìn của người dùng nội bộ và bên ngoài, trong chính QuickSight hoặc được nhúng vào bất kỳ ứng dụng nào.
Ghi lại là khả năng cập nhật siêu thị dữ liệu, kho dữ liệu hoặc bất kỳ chương trình phụ trợ cơ sở dữ liệu nào khác từ trong bảng điều khiển BI và phân tích dữ liệu được cập nhật trong thời gian gần như thực trong chính bảng điều khiển. Trong bài đăng này, chúng tôi trình bày cách thực hiện ghi lại cơ sở dữ liệu an toàn với QuickSight.
Tổng quan về ca sử dụng
Để minh họa cách bật khả năng ghi lại bằng QuickSight, chúng ta hãy xem xét một công ty hư cấu, AnyCompany Inc. AnyCompany là một công ty dịch vụ chuyên nghiệp chuyên cung cấp các giải pháp lực lượng lao động cho khách hàng của họ. AnyCompany xác định rằng việc chạy khối lượng công việc trên đám mây để hỗ trợ nhu cầu kinh doanh toàn cầu ngày càng tăng của mình là một lợi thế cạnh tranh và sử dụng đám mây để lưu trữ tất cả khối lượng công việc của mình. AnyCompany đã quyết định nâng cao cách các chi nhánh cung cấp báo giá cho khách hàng của mình. Hiện tại, các chi nhánh tạo báo giá khách hàng theo cách thủ công và là bước đầu tiên trong hành trình đổi mới này, AnyCompany đang tìm cách phát triển một giải pháp doanh nghiệp để tạo báo giá khách hàng với khả năng áp dụng động dữ liệu định giá địa phương tại thời điểm tạo báo giá.
AnyCompany hiện đang sử dụng Amazon RedShift làm nền tảng kho dữ liệu doanh nghiệp và QuickSight làm giải pháp BI.
Xây dựng một giải pháp mới đi kèm với những thách thức sau:
- AnyCompany muốn một giải pháp dễ xây dựng và bảo trì, đồng thời họ không muốn đầu tư xây dựng giao diện người dùng riêng biệt.
- AnyCompany muốn mở rộng khả năng của bảng điều khiển QuickSight BI hiện tại của họ để cũng cho phép tạo báo giá và chấp nhận báo giá. Điều này sẽ đơn giản hóa việc giới thiệu tính năng vì nhân viên của họ đã sử dụng bảng điều khiển QuickSight và tận hưởng giao diện dễ sử dụng mà QuickSight cung cấp.
- AnyCompany muốn lưu trữ lịch sử thương lượng báo giá bao gồm các báo giá được tạo, xem xét và chấp nhận.
- AnyCompany muốn xây dựng một bảng điều khiển mới với dữ liệu lịch sử báo giá để phân tích và hiểu biết sâu sắc về doanh nghiệp.
Bài đăng này trình bày các bước để kích hoạt chức năng ghi lại vào Amazon Redshift từ QuickSight. Lưu ý rằng các công cụ BI truyền thống là chỉ đọc với rất ít hoặc không có tùy chọn để cập nhật dữ liệu nguồn.
Tổng quan về giải pháp
Giải pháp này sử dụng các dịch vụ AWS sau:
- Cổng API Amazon – Lưu trữ và bảo mật API REST ghi lại sẽ được QuickSight gọi ra
- AWS Lambda – Chạy chức năng tính toán cần thiết để tạo hàm băm và chức năng thứ hai để thực hiện ghi lại một cách an toàn
- Amazon QuickSight – Cung cấp bảng điều khiển BI và khả năng tạo báo giá
- Amazon RedShift – Lưu trữ báo giá, giá cả và các tập dữ liệu liên quan khác
- Quản lý bí mật AWS – Lưu trữ và quản lý các khóa để ký mã băm (thông báo tóm tắt)
Mặc dù giải pháp này sử dụng Amazon Redshift làm kho lưu trữ dữ liệu, nhưng cách tiếp cận tương tự có thể được triển khai với bất kỳ cơ sở dữ liệu nào hỗ trợ tạo các hàm do người dùng xác định (UDF) có thể gọi Lambda.
Hình dưới đây cho thấy quy trình làm việc để thực hiện thao tác ghi lại từ QuickSight.
Bước đầu tiên trong giải pháp là tạo hàm băm hoặc thông báo tóm tắt của tập hợp các thuộc tính trong Amazon Redshift bằng cách gọi hàm Lambda. Bước này ngăn chặn giả mạo yêu cầu. Để tạo một hàm băm, Amazon Redshift gọi một Lambda UDF vô hướng. Cơ chế băm được sử dụng ở đây là cơ chế phổ biến BẠCH2 chức năng (có sẵn trong thư viện Python băm). Để bảo mật hơn nữa hàm băm, hàm băm có khóa được sử dụng, đây là cách thay thế nhanh hơn và đơn giản hơn cho mã xác thực tin nhắn dựa trên băm (HMAC). Khóa này do Trình quản lý bí mật tạo và lưu trữ và chỉ những ứng dụng được phép mới có thể truy cập được. Sau khi hàm băm bảo mật được tạo, hàm này sẽ được trả lại cho Amazon Redshift và được kết hợp trong chế độ xem Amazon Redshift.
Việc ghi báo giá đã tạo trở lại Amazon Redshift được thực hiện bởi hàm Lambda ghi lại và một điểm cuối API REST của API Gateway được tạo để bảo mật và chuyển các yêu cầu tới chức năng ghi lại. Chức năng ghi lại thực hiện các hành động sau:
- Tạo hàm băm dựa trên các tham số đầu vào API nhận được từ QuickSight.
- Ký mã băm bằng cách áp dụng khóa từ Trình quản lý bí mật.
- So sánh hàm băm được tạo với hàm băm nhận được từ các tham số đầu vào bằng phương thức so sánh_digest có sẵn trong HMAC mô-đun.
- Sau khi xác thực thành công, hãy ghi bản ghi vào bảng gửi báo giá trong Amazon Redshift.
Phần sau đây cung cấp các bước chi tiết với tải trọng mẫu và đoạn mã.
Tạo hàm băm
Hàm băm được tạo bằng Lambda UDF trong Amazon Redshift. Ngoài ra, khóa Trình quản lý bí mật được sử dụng để ký mã băm. Để tạo hàm băm, hãy hoàn thành các bước sau:
- Tạo khóa Trình quản lý bí mật từ Giao diện dòng lệnh AWS (AWS CLI):
- Tạo UDF Lambda để tạo hàm băm cho mã hóa:
- Xác định Amazon Redshift UDF để gọi hàm Lambda nhằm tạo hàm băm:
Sản phẩm Quản lý truy cập và nhận dạng AWS (IAM) trong bước trước phải có chính sách sau được đính kèm để có thể gọi hàm Lambda:
- Lấy chìa khóa từ Secrets Manager.
Khóa này được hàm Lambda sử dụng để tăng cường bảo mật cho hàm băm. Điều này được chỉ ra trong get_bí mật chức năng ở Bước 2.
Thiết lập bộ dữ liệu Amazon Redshift trong QuickSight
Bảng điều khiển tạo báo giá sử dụng chế độ xem Amazon Redshift sau đây.
Tạo chế độ xem Amazon Redshift sử dụng tất cả các cột trước đó cùng với cột hàm băm:
Các bản ghi sẽ trông giống như ảnh chụp màn hình sau đây.
Chế độ xem trước đó sẽ được sử dụng làm tập dữ liệu QuickSight để tạo báo giá. Một phân tích QuickSight sẽ được tạo bằng bộ dữ liệu. Để phân tích gần thời gian thực, bạn có thể sử dụng chế độ truy vấn trực tiếp QuickSight.
Tạo tài nguyên Cổng API
Thao tác ghi lại được bắt đầu bằng cách QuickSight gọi tài nguyên Cổng API, tài nguyên này sẽ gọi hàm ghi lại Lambda. Là điều kiện tiên quyết để tạo trường được tính toán trong QuickSight để gọi API ghi lại, trước tiên bạn phải tạo các tài nguyên này.
Cổng API bảo mật và gọi hàm Lambda ghi lại với các tham số được tạo dưới dạng tham số chuỗi truy vấn URL với các mẫu ánh xạ. Có thể tránh các tham số ánh xạ bằng cách sử dụng tích hợp proxy Lambda.
Tạo tài nguyên API REST thuộc loại phương thức GET sử dụng các hàm Lambda (được tạo trong bước tiếp theo) làm loại tích hợp. Để biết hướng dẫn, hãy tham khảo Tạo API REST trong Amazon API Gateway và Thiết lập tích hợp Lambda trong API Gateway.
Ảnh chụp màn hình sau đây hiển thị chi tiết cách tạo tham số chuỗi truy vấn cho từng tham số được chuyển đến Cổng API.
Ảnh chụp màn hình sau đây hiển thị chi tiết cách tạo tham số mẫu ánh xạ cho từng tham số được chuyển đến Cổng API.
Tạo hàm Lambda
Tạo một hàm Lambda mới để gọi Cổng API. Hàm Lambda thực hiện các bước sau:
- Nhận thông số từ QuickSight thông qua API Gateway và băm các thông số được nối.
Ví dụ mã sau truy xuất các tham số từ lệnh gọi Cổng API bằng cách sử dụng đối tượng sự kiện của hàm Lambda:
Hàm thực hiện logic băm như được hiển thị trong tạo hàm băm bước trước đó bằng cách sử dụng các tham số được nối bởi QuickSight.
- So sánh kết quả băm với tham số băm.
Nếu những điều này không khớp, việc ghi lại sẽ không xảy ra.
- Nếu giá trị băm khớp, hãy thực hiện ghi lại. Kiểm tra sự hiện diện của bản ghi trong bảng tạo báo giá bằng cách tạo truy vấn từ bảng bằng cách sử dụng các tham số được chuyển từ QuickSight:
- Hoàn thành hành động sau dựa trên kết quả của truy vấn:
- Nếu không có bản ghi nào cho tổ hợp trước đó, hãy tạo và chạy truy vấn chèn bằng cách sử dụng tất cả các tham số có trạng thái như đã tạo.
- Nếu bản ghi tồn tại cho sự kết hợp trước đó, hãy tạo và chạy truy vấn chèn với trạng thái như đang xem xét. quote_Id cho kết hợp hiện tại sẽ được sử dụng lại.
Tạo hình ảnh QuickSight
Bước này liên quan đến việc tạo hình ảnh bảng sử dụng trường được tính toán để truyền tham số tới API Gateway và gọi hàm Lambda trước đó.
- Thêm trường được tính toán QuickSight có tên Tạo báo giá để giữ URL được lưu trữ trên Cổng API sẽ được kích hoạt để ghi lại lịch sử báo giá vào Amazon Redshift:
- Tạo hình ảnh bảng QuickSight.
- Thêm các trường bắt buộc như Khách hàng, Kỹ năng và Chi phí.
- Thêm trường tính toán Tạo báo giá và tạo kiểu cho trường này dưới dạng siêu liên kết.
Việc chọn liên kết này sẽ ghi bản ghi vào Amazon Redshift. Điều này là đương nhiên trên cùng một giá trị băm trả về khi hàm Lambda thực hiện hàm băm trên các tham số.
Ảnh chụp màn hình sau đây hiển thị hình ảnh bảng mẫu.
Ghi vào cơ sở dữ liệu Amazon Redshift
Khóa Trình quản lý bí mật được hàm Lambda tìm nạp và sử dụng để tạo hàm băm nhằm so sánh. Việc ghi lại sẽ chỉ được thực hiện nếu hàm băm khớp với hàm băm được truyền trong tham số.
Bảng Amazon Redshift sau đây sẽ ghi lại lịch sử báo giá do hàm Lambda điền. Các bản ghi màu xanh lá cây đại diện cho các bản ghi gần đây nhất cho báo giá.
Cân nhắc và các bước tiếp theo
Việc sử dụng hàm băm an toàn sẽ ngăn chặn việc giả mạo các tham số tải trọng hiển thị trong cửa sổ trình duyệt khi URL ghi lại được gọi. Để bảo mật hơn nữa URL ghi lại, bạn có thể sử dụng các kỹ thuật sau:
- Triển khai API REST trong một VPC riêng mà chỉ người dùng QuickSight mới có thể truy cập được.
- Để ngăn chặn các cuộc tấn công lặp lại, dấu thời gian có thể được tạo cùng với hàm băm và được chuyển dưới dạng tham số bổ sung trong URL ghi lại. Sau đó, hàm Lambda phụ trợ có thể được sửa đổi để chỉ cho phép ghi lại trong một ngưỡng dựa trên thời gian nhất định.
- Theo dõi Cổng API kiểm soát truy cập và an ninh thực hành tốt nhất.
- Giảm nhẹ khả năng từ chối dịch vụ đối với các API công khai.
Bạn có thể nâng cao hơn nữa giải pháp này để hiển thị biểu mẫu dựa trên web khi URL ghi lại được mở. Điều này có thể được triển khai bằng cách tự động tạo biểu mẫu HTML trong hàm Lambda phụ trợ để hỗ trợ nhập thông tin bổ sung. Nếu khối lượng công việc của bạn yêu cầu nhiều lần ghi lại yêu cầu thông lượng hoặc tính đồng thời cao hơn, thì một kho lưu trữ dữ liệu được xây dựng có mục đích như Phiên bản tương thích với Amazon Aurora PostgreSQL có thể là một sự lựa chọn tốt hơn. Để biết thêm thông tin, hãy tham khảo Gọi hàm AWS Lambda từ cụm Cơ sở dữ liệu Aurora PostgreSQL. Sau đó, các bản cập nhật này có thể được đồng bộ hóa vào các bảng Amazon Redshift bằng cách sử dụng truy vấn liên hợp.
Kết luận
Bài đăng này hướng dẫn cách sử dụng QuickSight cùng với Lambda, API Gateway, Secrets Manager và Amazon Redshift để thu thập dữ liệu đầu vào của người dùng và cập nhật an toàn kho dữ liệu Amazon Redshift của bạn mà không cần rời khỏi môi trường QuickSight BI. Giải pháp này loại bỏ nhu cầu tạo một ứng dụng bên ngoài hoặc giao diện người dùng cho các thao tác chèn hoặc cập nhật cơ sở dữ liệu, đồng thời giảm chi phí phát triển và bảo trì liên quan. Lệnh gọi Cổng API cũng có thể được bảo mật bằng khóa hoặc mã thông báo để đảm bảo chỉ các lệnh gọi bắt nguồn từ QuickSight mới được Cổng API chấp nhận. Điều này sẽ được đề cập trong các bài viết tiếp theo.
Về các tác giả
Srikanth Baheti là Kiến trúc sư giải pháp chính trên toàn thế giới chuyên biệt cho Amazon QuickSight. Ông bắt đầu sự nghiệp của mình với tư cách là một nhà tư vấn và làm việc cho nhiều tổ chức tư nhân và chính phủ. Sau đó, anh ấy làm việc cho PerkinElmer Health and Science & eResearch Technology Inc, nơi anh ấy chịu trách nhiệm thiết kế và phát triển các ứng dụng web có lưu lượng truy cập cao, các đường dẫn dữ liệu có khả năng mở rộng và bảo trì cao dành cho các nền tảng báo cáo sử dụng dịch vụ AWS và điện toán Serverless.
Raji Sivasubramaniam là một Kiến trúc sư Giải pháp Sơ cấp tại AWS, tập trung vào Phân tích. Raji chuyên về kiến trúc các giải pháp Quản lý Dữ liệu Doanh nghiệp, Trí tuệ Doanh nghiệp và Phân tích đầu cuối cho các công ty Fortune 500 và Fortune 100 trên toàn cầu. Cô có kinh nghiệm chuyên sâu về phân tích và dữ liệu chăm sóc sức khỏe tích hợp với nhiều bộ dữ liệu chăm sóc sức khỏe bao gồm thị trường được quản lý, nhắm mục tiêu bác sĩ và phân tích bệnh nhân.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoAiStream. Thông minh dữ liệu Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Đúc kết tương lai với Adryenn Ashley. Truy cập Tại đây.
- Mua và bán cổ phần trong các công ty PRE-IPO với PREIPO®. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/big-data/perform-secure-database-write-backs-with-amazon-quicksight/
- : có
- :là
- :Ở đâu
- $ LÊN
- 100
- 11
- 13
- 22
- 500
- 7
- 8
- 9
- a
- có khả năng
- Có khả năng
- chấp nhận
- chấp nhận
- truy cập
- có thể truy cập
- ngang qua
- Hoạt động
- hành động
- thêm vào
- thông tin bổ sung
- Ngoài ra
- Lợi thế
- Sau
- Tất cả
- cho phép
- dọc theo
- bên cạnh
- Đã
- Ngoài ra
- thay thế
- đàn bà gan dạ
- Amazon QuickSight
- an
- phân tích
- phân tích
- phân tích
- và
- bất kì
- api
- API
- Các Ứng Dụng
- các ứng dụng
- Đăng Nhập
- Nộp đơn
- phương pháp tiếp cận
- LÀ
- đối số
- đối số
- AS
- At
- Các cuộc tấn công
- thuộc tính
- Rạng đông
- Xác thực
- có sẵn
- tránh
- AWS
- AWS Lambda
- trở lại
- Backend
- dựa
- BE
- bởi vì
- BEST
- thực hành tốt nhất
- Hơn
- chi nhánh
- trình duyệt
- xây dựng
- Xây dựng
- kinh doanh
- kinh doanh thông minh
- by
- tính
- cuộc gọi
- Cuộc gọi
- CAN
- khả năng
- nắm bắt
- Tuyển Dụng
- trường hợp
- nhất định
- thách thức
- kiểm tra
- sự lựa chọn
- khách hàng
- đám mây
- mã
- Cột
- Cột
- kết hợp
- kết hợp
- đến
- Các công ty
- công ty
- sự so sánh
- cạnh tranh
- hoàn thành
- Tính
- máy tính
- Kết nối
- Hãy xem xét
- chuyên gia tư vấn
- bối cảnh
- Phí Tổn
- có thể
- phủ
- tạo
- tạo ra
- Tạo
- Hiện nay
- khách hàng
- khách hàng
- bảng điều khiển
- dữ liệu
- quản lý dữ liệu
- kho dữ liệu
- Cơ sở dữ liệu
- bộ dữ liệu
- quyết định
- Mặc định
- chứng minh
- Denial of Service
- thiết kế
- chi tiết
- chi tiết
- xác định
- phát triển
- phát triển
- Phát triển
- Tiêu
- trực tiếp
- dont
- năng động
- e
- mỗi
- Sớm hơn
- dễ dàng
- dễ sử dụng
- hiệu lực
- hay
- loại trừ hết
- nhúng
- nhân viên
- cho phép
- mã hóa
- Cuối cùng đến cuối
- Điểm cuối
- nâng cao
- thưởng thức
- đảm bảo
- Doanh nghiệp
- Môi trường
- Ether (ETH)
- Sự kiện
- ví dụ
- Trừ
- ngoại lệ
- hiện tại
- tồn tại
- kinh nghiệm
- thêm
- ngoài
- sai
- nhanh hơn
- Đặc tính
- Tìm nạp
- hư cấu
- lĩnh vực
- Lĩnh vực
- Hình
- Công ty
- Tên
- tập trung
- tiếp theo
- Trong
- hình thức
- Vận may
- từ
- chức năng
- chức năng
- chức năng
- xa hơn
- cửa ngõ
- tạo ra
- tạo ra
- tạo ra
- thế hệ
- được
- Toàn cầu
- kinh doanh toàn cầu
- toàn cầu
- Đi
- Chính phủ
- màu xanh lá
- Phát triển
- xử lý
- xảy ra
- băm
- băm
- băm
- Có
- he
- cho sức khoẻ
- chăm sóc sức khỏe
- tại đây
- Cao
- cao hơn
- cao
- của mình
- lịch sử
- tổ chức
- chủ nhà
- tổ chức
- host
- Độ đáng tin của
- Hướng dẫn
- HTML
- http
- HTTPS
- IAM
- Bản sắc
- if
- thực hiện
- nhập khẩu
- in
- sâu
- Inc.
- bao gồm
- Bao gồm
- Đương nhiệm
- chỉ ra
- thông tin
- sự đổi mới
- đầu vào
- những hiểu biết
- hướng dẫn
- tích hợp
- hội nhập
- tích hợp
- Sự thông minh
- tương tác
- Giao thức
- nội bộ
- trong
- Đầu tư
- viện dẫn
- viện dẫn
- IT
- ITS
- chính nó
- cuộc hành trình
- jpg
- json
- Key
- phím
- một lát sau
- học tập
- để lại
- Thư viện
- Lượt thích
- Dòng
- LINK
- ít
- địa phương
- logic
- Xem
- giống như
- tìm kiếm
- máy
- học máy
- duy trì
- Có thể bảo trì
- bảo trì
- LÀM CHO
- quản lý
- quản lý
- giám đốc
- quản lý
- thủ công
- lập bản đồ
- thị trường
- Trận đấu
- cơ chế
- tin nhắn
- phương pháp
- Might
- ML
- Chế độ
- sửa đổi
- mô-đun
- chi tiết
- hầu hết
- nhiều
- phải
- Được đặt theo tên
- Cần
- nhu cầu
- Mới
- giải pháp mới
- tiếp theo
- Không
- con số
- vật
- of
- Cung cấp
- on
- có thể
- mở
- hoạt động
- Hoạt động
- Các lựa chọn
- or
- tổ chức
- Nền tảng khác
- đầu ra
- tham số
- thông số
- vượt qua
- thông qua
- bệnh nhân
- thực hiện
- thực hiện
- bác sĩ
- nền tảng
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- điều luật
- Phổ biến
- đông dân cư
- Bài đăng
- postgresql
- bài viết
- tiềm năng
- thực hành
- sự hiện diện
- ngăn chặn
- ngăn chặn
- Giá
- giá
- Hiệu trưởng
- riêng
- chuyên nghiệp
- cho
- cung cấp
- cung cấp
- Proxy
- Python
- nâng cao
- nhận
- gần đây
- ghi
- hồ sơ
- làm giảm
- liên quan
- có liên quan
- thay thế
- Báo cáo
- đại diện
- yêu cầu
- yêu cầu
- yêu cầu
- cần phải
- đòi hỏi
- tài nguyên
- Thông tin
- chịu trách nhiệm
- REST của
- Kết quả
- trở lại
- trở về
- Trả về
- xem xét
- xem xét
- Vai trò
- chạy
- chạy
- tương tự
- khả năng mở rộng
- KHOA HỌC
- Thứ hai
- Bí mật
- Phần
- an toàn
- Bảo mật
- an toàn
- Bảo đảm
- xem
- riêng biệt
- Không có máy chủ
- dịch vụ
- DỊCH VỤ
- Phiên
- định
- Chia sẻ
- chị ấy
- thay đổi
- nên
- hiển thị
- thể hiện
- Chương trình
- đăng ký
- tương tự
- đơn giản hóa
- kỹ năng
- giải pháp
- Giải pháp
- nguồn
- chuyên nghành
- chuyên
- riêng
- ổn định
- bắt đầu
- Tuyên bố
- Trạng thái
- Bước
- Các bước
- hàng
- lưu trữ
- cửa hàng
- Chuỗi
- phong cách
- nộp hồ sơ
- tiếp theo
- thành công
- thành công
- như vậy
- hỗ trợ
- Hỗ trợ
- bàn
- nhắm mục tiêu
- kỹ thuật
- Công nghệ
- mẫu
- mẫu
- hàng chục
- việc này
- Sản phẩm
- cung cấp their dịch
- sau đó
- Kia là
- họ
- điều này
- hàng ngàn
- ngưỡng
- Thông qua
- thông lượng
- thời gian
- dấu thời gian
- đến
- mã thông báo
- công cụ
- truyền thống
- giao thông
- được kích hoạt
- đúng
- thử
- kiểu
- Cập nhật
- cập nhật
- Cập nhật
- URL
- sử dụng
- đã sử dụng
- người sử dang
- Giao diện người dùng
- Người sử dụng
- sử dụng
- xác nhận
- giá trị
- nhiều
- phiên bản
- Xem
- có thể nhìn thấy
- hình ảnh
- muốn
- muốn
- Kho
- là
- Đường..
- we
- web
- Ứng dụng web
- Dựa trên web
- khi nào
- cái nào
- rộng
- Wikipedia
- sẽ
- với
- ở trong
- không có
- làm việc
- quy trình làm việc
- Lực lượng lao động
- thế giới
- viết
- bạn
- trên màn hình
- zephyrnet