將功能標誌定位到分段
作為應用程式擁有者,建立及管理特性旗標,將它們新增至集合,並使用 SDK 在應用程式中使用它們。 您也可以在執行時期啟用或停用特性,以控制特性的適用性。
您可以使用 ServiceNow 整合,針對透過 App Configuration 環境所起始的任何配置變更新增核准程序流程。 核准程序流程適用於 App Configuration 環境,例如 dev、stage 及 production。 如需相關資訊,請參閱 管理工作流程。
特性可以對所有集合使用者或一組特定使用者及裝置,或對一組特定使用者及裝置的特定百分比啟用或停用。
透過定義開始和結束時間及日期,可以協調啟用或停用功能。 此外,請選擇一個特定日期,以便在該日啟用或停用某項指定功能。 如需詳細資訊,請參閱 排程旗標,瞭解如何設定開始和結束時間、日期,以及選擇特定日子來切換功能旗標。
預設情況下,特徵旗標頁面會顯示在 App Configuration 服務實例的目前環境中建立的特徵旗標清單,以及記錄的詳細資訊,如名稱、類型、最後更新、最後評估、目標區段。 旗標類型分類為布林、數值或字串。
- 布林 旗標有兩個值,您可以將預設值設為 'true' 或 'false'。
- 字串 類型旗標支援文字格式的資料,以及 JSON 或 YAML 檔案。
- 數值 旗標支援整數。
建立特性旗標
要建立功能標誌,請依照以下步驟操作:
-
在 App Configuration 主控台中,按一下 特性旗標。
-
選取 現行環境,以顯示該環境中的特性旗標清單。
-
按一下建立。 即會開啟側邊畫面,其中包含用於建立新功能旗標的欄位。
建立新功能標誌 -
提供特性旗標詳細資料:
- 名稱-特性旗標的名稱。
- 特性旗標 ID-根據輸入的特性名稱自動建議特性旗標 ID 值。 必要的話,您可以修改相同的。 在 SDK 或 API 程式碼中使用 特性旗標 ID 值作為 ID。
- 旗標類型-指定特性旗標的類型。 支援的類型包括: 布林、字串及數值。 如需旗標類型及預設值的相關資訊,請參閱 選取特性旗標類型。
- 預設值-指定所選特性旗標類型的預設值。 如需旗標類型及預設值的相關資訊,請參閱 選取特性旗標類型。
- 選擇性地選取集合以立即套用特性旗標。 否則,您需要先新增集合,然後再切換特性旗標。 您可以在 集合之間的旗標可用性 清單中選取,將特性旗標新增至一或多個集合。
- 特性轉出-使用調節器來指定
Rollout percentage。 如需更多關於手動推出的資訊,請參閱 設定功能推出百分比。 - 說明-新增特性旗標的說明 (選用)。
- 選擇性地定義 標籤,以協助您識別特性旗標。
-
按一下建立。
依預設,當您建立新的特性旗標時,已啟用 切換開關會設為 OFF。
選取特性旗標類型
您可以具有下列其中一個與特性旗標相關聯的旗標類型:
- 布林
- 字串
- 數值
每一個「旗標」類型都有預設值。
- 當您將切換開關設為 ON時,需要 已啟用值 的值,當以區段為目標時可以置換此值。
- 當您將切換開關設為 OFF時,需要 已停用值 的值,當以區段為目標時可以置換此值。
布林
當您選取 旗標類型 作為 布林時,會顯示 預設值 詳細資料:
-
請從清單中選取「已啟用值」。 依預設,當切換開關針對特性旗標設為 ON 時,會傳回此值。 在鎖定特定受眾群組時,可以覆寫此值。
-
請從清單中選取「已停用之值」。 依預設,當特性旗標的切換開關設為 OFF 時,會傳回此值。
字串
當您選取 旗標類型 作為 字串時,會顯示 預設值 詳細資料:
-
從清單中選取字串旗標類型的 格式。 支援的格式為「文字」、JSON 及 YAML。 選取 JSON 或 YAML 格式時,請以選取的格式提供 已啟用值 和 已停用值。
-
請指定「已啟用」的值。 針對特性旗標將切換開關設為 ON 時,依預設會傳回此值。 在鎖定特定受眾群組時,可以覆寫此值。
-
請指定 「停用」的值。 依預設,當特性旗標的切換開關設為 OFF 時,會傳回此值。
數值
當您選取 旗標類型 作為 數值時,會顯示 預設值 詳細資料:
-
請從清單中選取「已啟用值」。 僅支援整數值。 針對特性旗標將切換開關設為 ON 時,依預設會傳回此值。 在鎖定特定受眾群組時,可以覆寫此值。
-
請從清單中選取「已停用之值」。 僅支援整數值。 依預設,當特性旗標的切換開關設為 OFF 時,會傳回此值。
目標集合至特性旗標
選擇性地選取集合以立即套用特性旗標。 否則,您需要先新增集合,然後再切換特性旗標。 您可以在建立特性旗標期間或編輯特性旗標詳細資料期間,將特性旗標新增至一或多個集合。
若要將集合新增至特性旗標,請針對 集合之間的旗標可用性 欄位,從清單中選取集合。
如果您嘗試將未鏈結至集合的特性旗標設為目標,則會顯示一個視窗,以將特性旗標新增至集合。
配置特性推出百分比
您可以使用 0 到 100 範圍內的轉出百分比來配置特性旗標,表示特性對部分使用者或裝置集的適用性。
手動推出有助於向一小部分隨機使用者或實體子集啟用功能,提供對發行週期的更多控制,並實現逐步交付。 當您對想要推出的功能如預期般運作有信心時,請在一段時間內增加百分比。
手動展開使用哈希演算法,根據規則集產生哈希值。 SDK 會使用此雜湊來產生該使用者的百分比值。 為該使用者產生的百分比值會與手動推出值所設定的值進行比較,以決定該使用者是否有資格接收該功能。
例如,雜湊具有從 1 到 100,000 的分割區。 當您指派特性旗標時,雜湊會將 1 到 100,000 個值指派給每一個分割區中的使用者。 例如,當您將 25% 指派給特性旗標時,App Configuration SDK 會將該特性遞送至從 1 到 25,000 的雜湊分割區。 如果您將接收該特性的使用者百分比從 25% 變更為 50%,則會將分割區 25,001 至 50,000 新增至已接收該特性的分割區集。
手動捲動功能適用於 Lite 和 Enterprise 方案。
以下是一些手動推出的情況:
- 如果特性旗標已停用,則 SDK 會傳回預設 已停用值。
- 如果啟用了功能標誌,但沒有任何區段規則,也沒有設定手動滾動,則 SDK 會返回預設 Enabled 值。
- 如果啟用了功能標誌,但沒有任何區段規則,且手動展開設定為 0%,則 SDK 會針對所有使用者回傳 Disabled(已停用)值。
- 如果啟用了功能標誌,但沒有任何區段規則,且手動捲出設定為百分比,例如 50%,則 SDK 會檢查使用者是否屬於設定的手動捲出大小,如果使用者屬於捲出條件,則 SDK 會返回 Enabled 值。 如果使用者不屬於依序套用準則,則 SDK 會傳回 已停用值。
- 如果特性旗標已啟用區段規則,則 SDK 會先根據所配置的規則來評估使用者。 如果使用者是已設定規則的一部分,則 SDK 會評估使用者是否符合手動推出的資格。
- 如果配置多個規則,並檢查使用者是否符合規則,直到第一個相符項為止。 如果找不到相符項,則 SDK 會根據預設轉出來評估。
- 如果使用者被評估為區段的一部分,而區段手動展開為 0%,那麼即使使用者是區段的一部分,使用者也不會收到區段值。 SDK 會傳回預設 已停用值。
- 如果使用者被評估為段落的一部分,且段落手動滾動設定為百分比,例如 50%,則 SDK 會檢查使用者是否屬於設定的滾動大小,如果使用者屬於滾動條件,則 SDK 會返回段落覆蓋值。 如果使用者不屬於依序套用準則,則 SDK 會傳回 已停用值。
| 特性旗標 | 已配置目標嗎? | 手動 推出 |
使用者 是 所配置區段的一部分 |
使用者 是否為 手動推出 標準的一部分 |
SDK 所傳回的值 |
|---|---|---|---|---|---|
| 已停用 | NA | 任何% 轉出集 | NA | NA | 已停用的值 |
| 已啟用 | 否 | 0% | NA | 否 | 已停用的值 |
| 已啟用 | 是 | 0% | 是 | 否 | 已停用的值 |
| 已啟用 | 是 | 0% | 否 | 否 | 已停用的值 |
| 已啟用 | 否 | 介於 0% 到 100% 之間 | NA | 是 | 已啟用的值 |
| 已啟用 | 否 | 介於 0% 到 100% 之間 | NA | 否 | 已停用的值 |
| 已啟用 | 是 | Between 0% 至 100% | 是 | 是 | 置換值 |
| 已啟用 | 是 | Between 0% 至 100% | 是 | 否 | 已停用的值 |
| 已啟用 | 是 | 介於 0% 到 100% 之間 | 否 | 是 | 已啟用的值 |
| 已啟用 | 是 | 介於 0% 到 100% 之間 | 否 | 否 | 已停用的值 |
| 已啟用 | 否 | 100% | NA | 是 | 已啟用的值 |
| 已啟用 | 是 | 100% | 是 | 是 | 置換值 |
| 已啟用 | 是 | 100% | 否 | 是 | 已啟用的值 |
以具有特性旗標的區段為目標
您可以將功能標誌部署至一個或多個目標受眾群組。 必要的話,您可以為不同的區段設定不同的旗標值。
-
從 App Configuration 主控台,移至 特性旗標。 此窗格顯示 App Configuration 服務實例的現行環境中可用的特性旗標清單。
-
按一下所需功能旗標列中的 新增目標定位,以顯示 新增目標設定 側面板。
-
功能滾動(預設) 部分顯示建立功能旗標時定義的預設滾動百分比滑桿。 您可以移動滑桿調整滾動百分比值。 當您調整滑桿時,變更會自動儲存。
-
在「規則」部分,您可以定義規則來控制誰可以看到您的功能,並輕鬆管理多個規則。 初始檢視會顯示「建立規則」按鈕和篩選現有規則的搜尋欄位。
新增規則 建立規則時,請指定下列內容:
-
規則名稱- 輸入規則的描述性名稱 (最多 100 個字元)。
-
規則 ID- 輸入規則的唯一識別碼。 這必須只包含字母、數字、點 (. )、連字符號 (-) 和下劃線 (_)。最多 100 個字元。
-
在滾動百分比中,您可以將值定義為覆寫或繼承預設值。 如果選取覆寫選項,請使用滑桿調整滾動百分比值。 當您調整滑桿時,百分比會自動儲存。
-
Select segments(選取區段 )- 從清單中選擇一個或多個區段。 選取的區段會以計數指示符顯示(例如:「1 × 區段已選取」)。 如果沒有可用的目標客群,請按一下 建立客群。 如需建立區段的相關資訊,請參閱 建立區段。
-
對於 已啟用值,您可以選取 置換 並修改值,或選取 繼承自旗標。
-
優先順序 - 設定規則優先順序,以決定評估規則的順序。 您可以將優先順序設定為下列選項之一:
- Set to Bottom - 將規則的優先順序設定為最後。 此為預設選項。
- Set to Top(設為頂端)- 將優先順序設為規則的頂端(即 1)。
- Specific Position(特定位置)- 將優先順序設定為使用者定義的特定位置。 (優先順序號碼可介於 1 到規則數量之間)。
當您按一下儲存規則時,規則就會建立並儲存。 沒有獨立的「建立」或「取消」按鈕 - 只要在完成設定規則後關閉面板即可。
-
-
建立規則後,它會出現在規則表中,顯示優先順序、規則名稱、區段和滾動資訊。 您可以使用溢出功能表為每條規則執行下列動作:
- 複製 - 複製現有的規則,建立新的規則。
複製規則溢出功能表
複製規則檢視 - 編輯規則- 修改現有的規則設定。
編輯規則溢出功能表
編輯規則檢視 - 編輯優先順序 - 變更規則評估順序。 優先順序決定評估規則的順序。 優先順序較低的規則會先被評估。 您可以將優先順序設定為之前提到的選項之一。
編輯優先順序溢出功能表
編輯優先順序規則檢視 - 刪除- 移除規則。 選擇刪除時,會出現確認對話框,以防止意外刪除。
刪除規則溢出功能表
刪除規則確認對話框
如果您嘗試將未鏈結至集合的特性旗標設為目標,則會顯示一個視窗,以將特性旗標新增至集合。
如何評估定位規則
當您設定目標時,請記住下列評估行為:
- 在一個區段內,不同的屬性以
AND進行評估。 - 在單一區段屬性中,可使用
OR對多個值進行評估。 - 在目標定位規則中,多個選取的區段會以
OR進行評估。 - 在整個目標規則中,規則會依優先順序進行評估,並應用第一個符合的規則。
例如,如果規則包含網段 Production - US-East 和 Production - Eu-De,則當任一網段符合時,該規則就會符合。 如果您要分別向這些受眾推出,請建立獨立的規則或以所有必要屬性定義每個區段,並按優先順序排列規則。
如果您要先在 eu-de 中為生產使用者啟用某項功能,之後再在 us-east 中為生產使用者啟用該功能,請使用所有必要的屬性來定義每個區段,例如:
- 片段 1:
environment is production和region is eu-de - 片段 2:
environment is production和region is us-east
然後,在「編輯目標」檢視中,以不同的規則瞄準這些區段,並依優先順序排列規則。 此方法有助於確保每條規則僅匹配預期的受眾。
啟用特性旗標
將特性旗標設為區段的目標之後,請按一下切換 (開啟/關閉),以啟用或停用特性旗標。