Bỏ qua để đến nội dung

Biến & secret

Lưu giá trị theo môi trường và dùng trong SQL bằng {{$var.KEY}} (đọc lại được) hoặc {{$secret.KEY}} (chỉ ghi).

3 phút đọc

Biến và secret là giá trị theo môi trường mà action dùng khi chạy, ví dụ email hỗ trợ khác nhau giữa dev và prod, hoặc token để gọi một hệ thống khác. Biến và secret được viết vào SQL như tham số, nhưng người chạy không phải nhập: hệ thống tự điền giá trị theo môi trường đang chạy.

BiếnSecret
Cú pháp trong SQL{{$var.KEY}}{{$secret.KEY}}
Đọc lại đượcCó. Mọi editor đều thấyKhông. Chỉ ghi, không ai đọc lại được
Ghi vào nhật kýGiá trị được ghi vĩnh viễnKhông
Dùng choGiá trị không bí mậtToken, mật khẩu, khoá API

Cần vai trò Editor trở lên. Trang thao tác trên môi trường đang chọn ở thanh trên cùng. Để đặt giá trị cho prod, chuyển sang prod trước.

Trang Biến & Secret: bảng biến và bảng secret của môi trường đang chọnTrang Biến & Secret: bảng biến và bảng secret của môi trường đang chọn

  1. Vào Xây dựng > Biến & Secret và chọn môi trường trên thanh trên cùng.
  2. Ở thẻ Biến ở môi trường, bấm Thêm biến.
  3. Nhập Key (chỉ gồm chữ HOA, số và dấu gạch dưới, không bắt đầu bằng số, ví dụ SUPPORT_EMAIL) và Giá trị, sau đó lưu.
  4. Để sửa sau này, bấm Sửa trên dòng của biến.

Nếu key hoặc giá trị có dạng giống bí mật (token, mật khẩu), form hiện cảnh báo. Giá trị biến hiển thị cho mọi editor và được lưu vĩnh viễn trong nhật ký. Bấm Lưu thành secret để lưu giá trị đó dưới dạng secret.

  1. Ở thẻ Secret ở môi trường, bấm Thêm secret.
  2. Nhập Key và Giá trị, sau đó lưu.
  3. Từ lúc này, bảng chỉ hiện trạng thái đã đặt. Để đổi, bấm Đổi giá trị và ghi đè bằng giá trị mới.
SELECT id, customer, total
FROM orders
WHERE region = {{$var.DEFAULT_REGION}}
AND created_by = {{$user.email}}
  • {{$var.KEY}} và {{$secret.KEY}} luôn được truyền dưới dạng giá trị (bind), không bao giờ được ghép vào chuỗi SQL.
  • Ngoài biến và secret, SQL còn dùng được {{$user.id}}, {{$user.email}} (người đang chạy) và {{$env.id}}, {{$env.slug}}, {{$env.isProduction}} (môi trường đang chạy).
  • Không cần khai báo các giá trị này ở phần Param của action.
  • JS action đọc được biến qua ctx.vars nhưng không đọc được secret. Xem JS action.

Bấm nút xoá trên dòng, sau đó nhập lại key để xác nhận. Action đang dùng key đó sẽ lỗi khi chạy. Secret đã xoá không khôi phục được. Với biến, hộp xác nhận hiện giá trị hiện tại để chép lại nếu cần.