Retrieving feature flags and configuration data in Amazon AppConfig
Your application retrieves feature flags and free form configuration data by establishing a configuration session using the Amazon AppConfig Data service. We recommended you use Amazon AppConfig Agent to retrieve configuration data. The agent (or the Amazon AppConfig Agent Lambda extension for Lambda compute environments) manages a series of API calls and session tokens on your behalf. From a high level, the process works as follows:
-
You configure Amazon AppConfig Agent as a local host and have the agent poll Amazon AppConfig for configuration updates.
-
The agent calls the StartConfigurationSession and GetLatestConfiguration API actions and caches your configuration data locally.
-
To retrieve the data, your application makes an HTTP call to the localhost server. Amazon AppConfig Agent supports several use cases, as described in How to use Amazon AppConfig Agent to retrieve configuration data.
If you prefer, you can manually call these API actions to retrieve a configuration. The API process works as follows:
-
Your application establishes a configuration session using the
StartConfigurationSession
API action. Your session's client then makes periodic calls toGetLatestConfiguration
to check for and retrieve the latest data available. -
When calling
StartConfigurationSession
, your code sends identifiers (ID or name) of an Amazon AppConfig application, environment, and configuration profile that the session tracks. -
In response, Amazon AppConfig provides an
InitialConfigurationToken
to be given to the session's client and used the first time it callsGetLatestConfiguration
for that session. -
When calling
GetLatestConfiguration
, your client code sends the most recentConfigurationToken
value it has and receives in response:-
NextPollConfigurationToken
: theConfigurationToken
value to use on the next call toGetLatestConfiguration
. -
The configuration: the latest data intended for the session. This may be empty if the client already has the latest version of the configuration.
-