八個實務情境
這裡每一頁都把一個領域從頭做到尾:業務角色與目標、真實資料模型、一份可以直接貼進工作台的完整 JSONL IaC 文件、API 呼叫順序,以及使用者在產品裡看到什麼。
這些文件是進入這個模組最快的路。你不需要先讀完十二種行類型再自己拼一份文件,而是挑一個最接近你問題的情境,套用它,然後改它。下表每一份文件都通過與工作台相同的驗證器,而且只要有一份不再通過解析、或中英兩版走鐘,CI 就會失敗。
挑一份最接近你問題的文件
| 情境 | 行數 | 這份文件示範什麼 |
|---|---|---|
| 預約 | 82 | 把可用時段當成資料:班表資料列、每日 materialize_slots 觸發器把它們展開成可預約時段、no_overlap 與 unique 兩道防線,以及用 public_read 把開放時段公開給匿名預約頁 |
| PMS | 89 | $me 與 $today±Nd row policy、transition 狀態機、範圍變更的 require_approval,以及用 invoke_command 跑一個 command 的觸發器 |
| 電商 | 63 | 一個 command 在同一交易裡寫入訂單與明細、rollup 金額、用 json 存平台原始封包,並以 insight_selection 讓 AI 在聊天室讀這幾張表 |
| QA | 53 | 分析師的文件:值得被提問的衍生欄位、用相對日期視窗與 any_of 分組存成 view,以及 AI 工具可以按 json path 走訪的 json 欄位 |
| 倉儲 | 50 | 用 command 做原子性的庫存移轉、用 invariant 保證庫存不會變負、以及依角色切開的撿貨佇列 |
| HR | 47 | 用 $user: 可攜代號種入 user 欄位(單一種類的 principal 型別)、$me 與 $me.department row policy、用 visible_columns 藏起薪資級別,以及敏感變更的核准閘門 |
| CRM | 41 | 綁定真實客戶對話的 social_client 欄位、用 send_channel_message 在客戶自己的管道回覆,以及讓外部客戶自助查詢的 client_access |
| 客服 | 34 | 用 json 存進站 payload、用負的 offset_minutes 讓 SLA 觸發器在到期之前就發、以及把客服與主管切開的授權 |
八份文件加起來用到全部十二種行類型,所以不管你要宣告什麼,其中一頁大概已經宣告過類似的東西。
這些文件裝不了的東西
有兩件情境會需要、但今天的 JSONL 文件無法宣告的事。相關頁面會在該提的地方點出來,並告訴你要先用 REST 做掉:
- 誰來核准。
require_approval規則引用的是覆核範本的原始 id,而覆核範本與它的群組是在覆核模組建立的,不在 IaC 裡。所以帶核准閘門的文件,會被綁在它寫下那個範本 id 的環境上。 - Callback token。 沒有對應的行類型,因為密鑰只顯示一次,無法在文件裡來回。請用 REST 鑄造權杖,並把密鑰放進密鑰管理系統;見外部回呼。
這兩項加上另外五項較小的,都整理在用 REST 補完:每一項的確切呼叫,以及重新 apply 會不會蓋掉它。
其他東西都可以跨環境搬動,因為授權、洞察系統選擇與身分欄位的儲存格都接受可攜身分代號,不必寫死環境 id。
Last updated on