Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration 3.0.0

Prefix Reserved
dotnet add package Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration --version 3.0.0                
NuGet\Install-Package Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration -Version 3.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration --version 3.0.0                
#r "nuget: Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration, 3.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration as a Cake Addin
#addin nuget:?package=Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration&version=3.0.0

// Install Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration as a Cake Tool
#tool nuget:?package=Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration&version=3.0.0                

Azure AppConfiguration ConfigBuilder

This package provides a config builder that draws its values from an Azure App Configuration. The builder uses DefaultAzureCredential for connecting with the App Configuration service. More comprehensive documentation exists at the MicrosoftConfigBuilders project.

The basic usage of this builder is given below. Parameters inside []s are optional. Parameters grouped in ()s are mutually exclusive. Parameters beginning with @ allow appSettings substitution. The first line of parameters are common to all builders and optional. Their meaning, usage, and defaults are documented here. They are grouped on one line for brevity. When a builder uses a different default value than the project default, the differing value is also listed. Builder-specific settings are listed on each line thereafter followed by a brief explanation.

<add name="AzureAppConfig"
    [@mode|@enabled="enabled"|@charMap|@prefix|@stripPrefix|tokenPattern|@escapeExpandedValues]
    (@endpoint="https://your-appconfig-store.azconfig.io" | @connectionString="Endpoint=https://your-appconfig-store.azconfig.io;Id=XXXXXXXXXX;Secret=XXXXXXXXXX")
    [@keyFilter="string"]
    [@labelFilter="label"]
    [@acceptDateTime="DateTimeOffset"]
    [@useAzureKeyVault="bool"]
    type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration" />

:information_source: [NOTE]

When connecting to an Azure App Configuration store, the identity that is being used must be assigned either the Azure App Configuration Data Reader role or the Azure App Configuration Data Owner role. Otherwise the config builder will encounter a "403 Forbidden" response from Azure and throw an exception if not optional.

  • endpoint - This specifies the AppConfiguration store to connect to.
  • connectionString - The recommendation is to use endpoint. This specifies the AppConfiguration store to connect to, along with the Id and Secret necessary to access the service. Be carefulnot to expose any secrets in your code, repos, or App Configuration stores if you use this method for connecting.
  • keyFilter - Use this to select a set of configuration values matching a certain key pattern.
  • labelFilter - Only retrieve configuration values that match a certain label.
  • acceptDateTime - Instead of versioning ala Azure Key Vault, AppConfiguration uses timestamps. Use this attribute to go back in time to retrieve configuration values from a past state.
  • useAzureKeyVault - Enable this feature to allow AzureAppConfigurationBuilder to connect to and retrieve secrets from Azure Key Vault for config values that are stored in Key Vault. The same managed service identity that is used for connecting to the AppConfiguration service will be used to connect to Key Vault. The Key Vault uri is retrieved as part of the data from AppConfiguration and does not need to be specific here. Default is false.

V3 Updates:

A more complete list of updates lives here. These are the ones most relevant to this builder:

  • ⚠️ Breaking Change - Expand mode is gone. It has been replaced by Token mode.
  • The Azure Config Builders have been updated to require a newer minimum version of Azure.Identity by default which allows for more methods of connecting to Azure, such as User-Assigned Managed Identity, or Client Certificate-based via environment variables. Also a pair of overloads (GetCredential and GetSecretClientOptions/GetConfigurationClientOptions) have been added for users who need something more than DefaultAzureCredential with default client options can provide.
  • optional attribute is obsolete ⇒ enabled attribute which provides more versatility. (The optional attribute is still parsed and recognized in the absence of the newer enabled attribute, but builders should migrate to use the new attribute name when possible. Installation scripts should try to handle this automatically.)
  • AzureAppConfiguration nuget package version is revved to match the rest of this suite of builders, rather than being 1 major version behind. (ie, AzureAppConfiguration:3.0 now depends on Base:3.0 rather than AzureAppConfiguration:1.0 depending on Base:2.0)

V1 Updates:

A more complete list of updates lives here. These are the ones most relevant to this builder:

  • Azure App Configuration Support - There is a new builder for drawing values from the new Azure App Configuration service.
Product Compatible and additional computed target framework versions.
.NET Framework net471 is compatible.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.0 214,650 4/12/2023
2.0.0-preview2 355 1/18/2023
2.0.0-preview1 812 4/1/2022
1.0.0 1,037,077 2/22/2020
1.0.0-rc 12,306 1/10/2020
1.0.0-beta 15,336 2/26/2019