

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

# 如何使用 AWS AppConfig 代理程式擷取組態資料
<a name="appconfig-agent-how-to-use"></a>

 AWS AppConfig 代理程式是擷取 AWS AppConfig 功能旗標或自由格式組態資料的建議方法。所有形式的 AWS 運算都支援代理程式，包括 Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda。完成初始代理程式設定後，使用代理程式擷取組態資料會比直接呼叫 AWS AppConfig APIs更簡單。代理程式會自動實作最佳實務，並可能因較少的 API 呼叫擷取組態 AWS AppConfig 而降低使用 的成本。

**注意**  
 AWS 帳戶 不支援從個別 擷取組態資料。

## 使用 AWS AppConfig 代理程式進行以使用者或實體為基礎的逐步部署
<a name="appconfig-entity-based-gradual-deployments"></a>

AWS AppConfig 代理程式支援在逐步推展期間將功能旗標或自由格式組態資料部署至特定客群或個別使用者。以實體為基礎的逐步部署可確保一旦使用者或客群收到組態版本，就會在整個部署期間持續收到相同的版本，無論哪些運算資源提供其請求。

透過以實體為基礎的逐步部署， AWS AppConfig Agent 會評估每個 HTTP 請求隨附的唯一識別符 (`Entity-Id`)。根據此識別符，在整個部署期間，代理程式會持續提供新的或先前的組態版本。此程序可確保一旦使用者收到更新後的組態，就會繼續接收。它還確保回復警示有足夠的時間和資料來偵測問題。

如果您的應用程式可接受直接變更面向使用者的行為，以及爆量半徑的變化 （完全影響特定使用者，而不是部分影響所有使用者），請考慮以實體為基礎的逐步部署。

**重要**  
請注意下列有關以實體為基礎的逐步部署的重要資訊：  
實體型逐步部署需要 AWS AppConfig Agent 2.0.136060 版或更新版本。
`Entity-Id` 接受最大字串大小為 2 KB。
唯一識別符不得為硬式編碼或低基數。
識別符不會傳送至 AWS AppConfig 服務。 AWS AppConfig Agent 會評估用戶端的唯一識別符。
在部署期間， AWS AppConfig 代理程式會追蹤實體和已部署的組態。此追蹤只會在部署期間維護。追蹤會在部署完成時結束。
每個 AWS AppConfig 輪詢的執行個體都會獨立進行部署狀態，因此代理程式可能會在部署百分比變更時短暫提供相同實體的不同版本。此時段由輪詢間隔和短同步期間決定。您可以在 [StartConfigurationSession](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) API 動作`RequiredMinimumPollIntervalInSeconds`中設定 ，以減少此值。不過，較短的間隔會增加 API 呼叫率，這可能會提高成本和風險調節。選擇符合您需求的輪詢間隔。如需詳細資訊，請參閱《 AWS CLI 參考》中的 [StartConfigurationSession](https://docs.aws.amazon.com/cli/latest/reference/appconfigdata/start-configuration-session.html)。

### 啟用以實體為基礎的逐步部署
<a name="appconfig-entity-based-gradual-deployments-enabling"></a>

若要啟用實體型逐步部署：

1. 更新至 AWS AppConfig 代理程式版本 2.0.136060 或更新版本。

1. 擷取組態資料時，請在 `Entity-Id` HTTP 標頭中提供唯一的識別符。

下列範例請求使用 的電子郵件地址 `Entity-Id`

```
GET /applications/myapp/environments/prod/configurations/featureflags HTTP/1.1
Host: localhost:2772
Entity-Id: example@AWS-example-email.com
```

您可以在請求中包含 `Entity-Id`標頭，以便：

/applications/{Application}/environments/{Environment}/configurations/{Configuration}

若要使用 檢視程式碼範例`Entity-Id`，請參閱 [使用 AWS AppConfig 代理程式讀取自由格式組態描述檔](appconfig-code-samples-agent-read-configuration.md)。

此`Entity-Id`值可以是任何可唯一識別系統中實體的字串，例如：
+ 客戶 ID
+ 電子郵件地址
+ 帳戶 ID
+ 後端任務 ID
+ 工作階段範圍識別符 （如適用）