在中建立特徵旗標和任意格式組態資料 AWS AppConfig - AWS AppConfig

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在中建立特徵旗標和任意格式組態資料 AWS AppConfig

本節中的主題可協助您完成中的下列工作 AWS AppConfig。這些工作會建立用於部署組態資料的重要成品。

1. 創建一個應用程序名

若要建立應用程式命名空間,請建立稱為應用程式的 AWS AppConfig 成品。一個應用程序只是一個組織結構像一個文件夾。

2. 建立環境

您可以為每個 AWS AppConfig 應用程式定義一或多個環境。環境是 AWS AppConfig 目標的邏輯部署群組,例如BetaProduction環境中的應用程式。您也可以定義應用程式子元件的環境,例如AWS Lambda functionsContainersWebMobile、和Back-end

您可以為每個環境設定 Amazon CloudWatch 警示,以自動復原有問題的組態變更。系統會在組態部署期間監控警示。如果觸發了警示,系統會回復組態。

3. 建立組態設定描述檔

組態資料是會影響應用程式行為的設定集合。組態設定檔包括可讓您在其儲存位置中尋找組態資料 AWS AppConfig 以及設定類型的功能。URI AWS AppConfig 支援下列類型的組態設定檔:

  • 功能旗標:您可以使用功能旗標來啟用或停用應用程式中的功能,或使用旗標屬性來設定應用程式功能的不同特性。 AWS AppConfig 以功能旗標格式將功能旗標組態儲存在 AWS AppConfig 託管組態存放區中,該格式包含有關旗標和旗標屬性的資料和中繼資料。功能URI標誌配置很簡單hosted

  • 自由格式組態:自由格式組態可以將資料儲存在下列任何一項服務和功能中:

    • AWS AppConfig 託管組態存放區

    • Amazon Simple Storage Service

    • AWS CodePipeline

    • AWS Secrets Manager

    • AWS Systems Manager (SSM) 參數存放區

    • SSM文件存放區

注意

如果可能,我們建議您在託管的組態存放區中 AWS AppConfig 託管您的組態資料,因為它提供了最多的功能和增強功能。

4. (可選,但建議使用) 建立多變體功能旗

AWS AppConfig 提供基本功能標誌,其中(如果啟用)每個請求返回一組特定的配置數據。為了更好地支援使用者細分和流量分割使用案例, AWS AppConfig 還提供了多變體功能旗標,可讓您定義一組可能的旗標值,以便針對要求傳回。您也可以為多變體旗標配置不同的狀態 (已啟用或停用)。請求使用變體配置的旗標時,您的應用程式會提供 AWS AppConfig 根據一組使用者定義規則進行評估的前後關聯。根據請求中指定的前後關聯以及針對變體定義的規則,會將不同的旗標值 AWS AppConfig 傳回給應用程式。

下一節包括功能旗標和自由格式組態資料範例。

功能旗標組態資料

下列功能旗標設定資料會針對每個地區啟用或停用行動付款與預設付款。

JSON
{ "allow_mobile_payments": { "enabled": false }, "default_payments_per_region": { "enabled": true } }
YAML
--- allow_mobile_payments: enabled: false default_payments_per_region: enabled: true

操作配置數據

下列自由格式組態資料會強制限制應用程式處理要求的方式。

JSON
{ "throttle-limits": { "enabled": "true", "throttles": [ { "simultaneous_connections": 12 }, { "tps_maximum": 5000 } ], "limit-background-tasks": [ true ] } }
YAML
--- throttle-limits: enabled: 'true' throttles: - simultaneous_connections: 12 - tps_maximum: 5000 limit-background-tasks: - true

存取控制清單組態資料

下列存取控制清單自由格式組態資料指定哪些使用者或群組可以存取應用程式。

JSON
{ "allow-list": { "enabled": "true", "cohorts": [ { "internal_employees": true }, { "beta_group": false }, { "recent_new_customers": false }, { "user_name": "Jane_Doe" }, { "user_name": "John_Doe" } ] } }
YAML
--- allow-list: enabled: 'true' cohorts: - internal_employees: true - beta_group: false - recent_new_customers: false - user_name: Jane_Doe - user_name: Ashok_Kumar