Bỏ qua, tới nội dung chính

Tự động hóa

Biến và bộ dữ liệu

Biến session khác biến flow ra sao, vì sao không được đặt mật khẩu vào biến flow, và bộ dữ liệu cấp giá trị lúc chạy thế nào.

5 phút đọc

Kịch bản gõ cứng giá trị vào chỉ chạy được cho đúng một tài khoản, trong đúng một ngày. Kịch bản dùng biến thì chạy cho hai chục tài khoản. Bài này nói về hai loại biến, cách viết biến vào node, giá trị được cất ở đâu — và một thứ tuyệt đối không được đặt vào kịch bản.

Hai loại biến

Panel Variables trong trình soạn thảo có hai tab, và khác biệt giữa chúng quyết định kịch bản chạy ra sao.

Session — người chạy điền vàoFlow — hằng số của chính kịch bản
Giá trị đến từ đâuCấp lúc chạy kịch bản trên máy, hoặc từ bộ dữ liệuKhai một lần, ngay trong kịch bản
Bắt buộc có giá trị? — mọi biến session phải có giá trị thì kịch bản mới chạy đượcKhông; không đặt giá trị đầu thì nó bắt đầu rỗng
Được đặt giá trị đầu?KhôngĐược — khai một chỗ, dùng {{x}} ở mười node
Node ghi vào được?KhôngĐược, và chỉ loại này

Mẹo phân biệt: thứ gì khác nhau theo từng máy hoặc từng tài khoản thì là biến session. Thứ gì kịch bản tự xoay xở — một bộ đếm, một câu nó tự ghép, một hằng số dùng lại nhiều chỗ — là biến flow.

Trình soạn thảo kịch bản, thanh công cụ phía trên với nút Variables hiện số biến hiện tại

Tuyệt đối không đặt bí mật vào biến flow

Giá trị đầu của biến flow được lưu cùng kịch bản và có thể lộ ra qua tìm kiếm. Đừng bao giờ đặt mật khẩu, token hay mã khôi phục vào đó.

Thứ cần giữ kín phải đi bằng biến session (cấp lúc chạy), hoặc bằng bộ dữ liệu có đánh dấu secret.

Luật đặt tên

  • Tối đa 50 biến mỗi kịch bản.
  • Tên biến bắt đầu bằng chữ cái hoặc gạch dưới, sau đó chỉ gồm chữ cái, chữ số và gạch dưới — không dấu cách, không chữ có dấu. Tối đa 50 ký tự, và không trùng nhau trong cùng kịch bản.
  • Vì tên biến không mang được dấu, mỗi biến còn có một label: cái tên đọc được, có dấu, hiện trên form khi ai đó điền giá trị.

Viết biến vào node

{{ten_bien}} vào ô nhập chữ của node. Nó là tham chiếu, không phải thay-thế-chuỗi: máy đọc giá trị ngay tại thời điểm node đó chạy, nên giá trị vừa được ghi ở bước trước chính là giá trị node sau nhìn thấy.

  • Nhúng giữa câu được: Xin chào {{name}}.
  • Đường dẫn chấm đi vào giá trị có cấu trúc: {{user.name}}, {{list.0}}. Biến kiểu danh sách hoặc JSON bắt buộc phải đọc qua đường dẫn — dùng trần không chạy.
  • Khoảng trắng trong ngoặc bị bỏ qua: {{ key }} chính là {{key}}.
  • Muốn viết ngoặc nhọn thật thay vì tham chiếu thì thoát bằng \{{.

Trong {{ }} không có biểu thức, không gọi hàm — không viết được {{count + 1}}. Tính toán và xử lý chữ là việc của node CalculateTransform text; xem Danh mục node.

Thứ kịch bản không lưu ngược lại được

Biến session là hạt giống. Thứ node ghi ra trong lúc chạy chỉ sống trong đúng lần chạy đó — nó không đổ ngược về phiên thuê. Kịch bản không dùng biến session làm chỗ lưu trữ sống sót sang lần chạy sau được.

Giá trị nào cần giữ qua nhiều lần chạy thì phải để ngoài kịch bản: trong bộ dữ liệu do bạn tự cập nhật, hoặc ở đâu đó trên máy.

Bộ dữ liệu ở trang Flow data

Flow data là trang thứ hai trong nhóm Automation Package. Trang tự mô tả rất gọn: "Data sets (variable values) used when running automation flows on rented devices" — bộ dữ liệu (giá trị biến) dùng khi chạy kịch bản tự động trên máy thuê.

Bộ dữ liệu là một gói giá trị biến có đặt tên — mỗi tài khoản một bộ, mỗi nhân vật một bộ, mỗi máy một bộ, chia thế nào là tuỳ cách bạn làm việc.

Trang Flow data liệt kê các bộ dữ liệu kèm biến của chúng

Bảng có các cột Data set name (tên bộ), VARIABLES (biến), Updated (cập nhật) và ACTIONS (thao tác), phía trên là nút Create data set. Một giá trị trong bộ có thể được đánh dấu secret, khi đó nó bị che trên trang.

Gán bộ dữ liệu cho phiên thuê

Gán một bộ dữ liệu vào phiên thuê thì các kịch bản bạn chạy trên máy đó sẽ đọc giá trị từ bộ đã gán, thay vì lần nào bạn cũng gõ lại vào hộp thoại chạy.

Chỉ chủ phiên mới gán được bộ dữ liệu. Máy do người khác chia sẻ cho bạn thì không phải của bạn để cấu hình kiểu này: gán hàng loạt sẽ bỏ qua các phiên đó và cho biết đã bỏ qua bao nhiêu phiên. Với các máy đó thì điền giá trị trong hộp thoại chạy. Xem Dùng Cloud Phone người khác chia sẻ.

Giá trị đến từ đâu

Hộp thoại chạy ghi rõ thứ tự: "Pick a flow, fill the session variables, then confirm. Value sources: data set assigned to the rental session → set picked in this dialog → manual input."

Hệ thống lấy giá trị theo đúng thứ tự đó. Luật thực dụng suy ra từ đấy: đọc kỹ các giá trị trước khi bấm xác nhận — đó là khoảnh khắc cuối cùng mà bắt được một giá trị sai còn rẻ.

Tóm tắt

  1. Hai loại: session (cấp theo từng lượt chạy, luôn bắt buộc) và flow (hằng số của kịch bản, và là loại duy nhất node ghi vào được).
  2. Đừng bao giờ đặt mật khẩu vào giá trị đầu của biến flow — dùng biến session, hoặc giá trị trong bộ dữ liệu có đánh dấu secret.
  3. {{ten_bien}} là tham chiếu đọc lúc chạy: đường dẫn chấm thì được, biểu thức thì không.
  4. Tối đa 50 biến mỗi kịch bản, và chỉ chủ phiên mới gán được bộ dữ liệu.