You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/concept-key-value.md
+27-25Lines changed: 27 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,48 +1,50 @@
1
1
---
2
-
title: Azure App Configuration key-value store
3
-
description: An overview of how configuration data is stored in Azure App Configuration.
2
+
title: Understand Azure App Configuration key-value store
3
+
description: Understand how configuration data is stored in Azure App Configuration.
4
4
author: lisaguthrie
5
5
ms.author: lcozzens
6
6
ms.service: azure-app-configuration
7
7
ms.topic: conceptual
8
-
ms.date: 04/19/2019
8
+
ms.date: 02/19/2020
9
9
---
10
10
11
11
# Keys and values
12
12
13
-
Azure App Configuration stores configuration data as key-value pairs. Key-value pairs are a simple yet flexible way to represent various kinds of application settings that developers are familiar with.
13
+
Azure App Configuration stores configuration data as key-value pairs. Key-value pairs are a simple and flexible representation of application settings used by developers.
14
14
15
15
## Keys
16
16
17
-
Keys serve as the name for key-value pairs and are used to store and retrieve corresponding values. It's a common practice to organize keys into a hierarchical namespace by using a character delimiter, such as `/` or `:`. Use a convention that's best suited for your application. App Configuration treats keys as a whole. It doesn't parse keys to figure out how their names are structured or enforce any rule on them.
17
+
Keys serve as identifiers for key-value pairs and are used to store and retrieve corresponding values. It's a common practice to organize keys into a hierarchical namespace by using a character delimiter, such as `/` or `:`. Use a convention best suited to your application. App Configuration treats keys as a whole. It doesn't parse keys to figure out how their names are structured or enforce any rule on them.
18
18
19
-
The usage of configuration data within application frameworks might dictate specific naming schemes for key values. As an example, Java's Spring Cloud framework defines `Environment` resources that supply settings to a Spring application to be parameterized by variables that include *application name* and *profile*. Keys for Spring Cloud-related configuration data typically start with these two elements separated by a delimiter.
19
+
Here are two examples of key names structured into a hierarchy:
20
20
21
-
Keys stored in App Configuration are case-sensitive, unicode-based strings. The keys *app1* and *App1* are distinct in an App Configuration store. Keep this in mind when you use configuration settings within an application because some frameworks handle configuration keys case-insensitively. For example, the ASP.NET Core configuration system treats keys as case-insensitive strings. To avoid unpredictable behaviors when you query App Configuration within an ASP.NET Core application, don't use keys that differ only by casing.
21
+
* Based on component services
22
22
23
-
You can use any unicode character in key names entered into App Configuration except for `*`, `,`, and `\`. These characters are reserved. If you need to include a reserved character, you must escape it by using `\{Reserved Character}`. There's a combined size limit of 10 KB on a key-value pair. This limit includes all characters in the key, its value, and all associated optional attributes. Within this limit, you can have many hierarchical levels for keys.
23
+
AppName:Service1:ApiEndpoint
24
+
AppName:Service2:ApiEndpoint
24
25
25
-
### Design key namespaces
26
+
* Based on deployment regions
26
27
27
-
There are two general approaches to naming keys used for configuration data: flat or hierarchical. These methods are similar from an application usage standpoint, but hierarchical naming offers a number of advantages:
28
+
AppName:Region1:DbEndpoint
29
+
AppName:Region2:DbEndpoint
28
30
29
-
* Easier to read. Instead of one long sequence of characters, delimiters in a hierarchical key name function as spaces in a sentence. They also provide natural breaks between words.
30
-
* Easier to manage. A key name hierarchy represents logical groups of configuration data.
31
-
* Easier to use. It's simpler to write a query that pattern-matches keys in a hierarchical structure and retrieves only a portion of configuration data. Also, many newer programming frameworks have native support for hierarchical configuration data such that your application can make use of specific sets of configuration.
31
+
The use of configuration data within application frameworks might dictate specific naming schemes for key values. For example, Java's Spring Cloud framework defines `Environment` resources that supply settings to a Spring application. These are parameterized by variables that include *application name* and *profile*. Keys for Spring Cloud-related configuration data typically start with these two elements separated by a delimiter.
32
32
33
-
You can organize keys in App Configuration hierarchically in many ways. Think of such keys as [URIs](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier). Each hierarchical key is a resource *path* composed of one or more components that are joined together by delimiters. Choose what character to use as a delimiter based on what your application, programming language, or framework needs. Use multiple delimiters for different keys in App Configuration.
33
+
Keys stored in App Configuration are case-sensitive, unicode-based strings. The keys *app1* and *App1* are distinct in an App Configuration store. Keep this in mind when you use configuration settings within an application because some frameworks handle configuration keys case-insensitively. We do not recommend using case to differentiate keys.
34
34
35
-
Here are several examples of how you can structure your key names into a hierarchy:
35
+
You can use any unicode character in key names except for `*`, `,`, and `\`. If you need to include one of these reserved characters, escape it by using `\{Reserved Character}`.
36
36
37
-
* Based on component services
37
+
There's a combined size limit of 10 KB on a key-value pair. This limit includes all characters in the key, its value, and all associated optional attributes. Within this limit, you can have many hierarchical levels for keys.
38
38
39
-
AppName:Service1:ApiEndpoint
40
-
AppName:Service2:ApiEndpoint
39
+
### Design key namespaces
41
40
42
-
* Based on deployment regions
41
+
There are two general approaches to naming keys used for configuration data: flat or hierarchical. These methods are similar from an application usage standpoint, but hierarchical naming offers a number of advantages:
43
42
44
-
AppName:Region1:DbEndpoint
45
-
AppName:Region2:DbEndpoint
43
+
* Easier to read. Delimiters in a hierarchical key name function as spaces in a sentence. They also provide natural breaks between words.
44
+
* Easier to manage. A key name hierarchy represents logical groups of configuration data.
45
+
* Easier to use. It's simpler to write a query that pattern-matches keys in a hierarchical structure and retrieves only a portion of configuration data. Also, many newer programming frameworks have native support for hierarchical configuration data such that your application can make use of specific sets of configuration.
46
+
47
+
You can organize keys in App Configuration hierarchically in many ways. Think of such keys as [URIs](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier). Each hierarchical key is a resource *path* composed of one or more components that are joined together by delimiters. Choose what character to use as a delimiter based on what your application, programming language, or framework needs. Use multiple delimiters for different keys in App Configuration.
46
48
47
49
### Label keys
48
50
@@ -56,7 +58,7 @@ Label provides a convenient way to create variants of a key. A common use of lab
56
58
57
59
### Version key values
58
60
59
-
App Configuration doesn't version key values automatically as they're modified. Use labels as a way to create multiple versions of a key value. For example, you can input an application version number or a Git commit ID in labels to identify key values associated with a particular software build.
61
+
App Configuration doesn't version key values automatically. Use labels as a way to create multiple versions of a key value. For example, you can input an application version number or a Git commit ID in labels to identify key values associated with a particular software build.
60
62
61
63
You can use any unicode character in labels except for `*`, `,`, and `\`. These characters are reserved. To include a reserved character, you must escape it by using `\{Reserved Character}`.
62
64
@@ -69,7 +71,7 @@ Each key value is uniquely identified by its key plus a label that can be `null`
69
71
|`key` is omitted or `key=*`| Matches all keys |
70
72
|`key=abc`| Matches key name **abc** exactly |
71
73
|`key=abc*`| Matches key names that start with **abc**|
72
-
|`key=abc,xyz`| Matches key names **abc** or **xyz**, limited to five CSVs |
74
+
|`key=abc,xyz`| Matches key names **abc** or **xyz**. Limited to five CSVs |
73
75
74
76
You also can include the following label patterns:
75
77
@@ -83,9 +85,9 @@ You also can include the following label patterns:
83
85
84
86
## Values
85
87
86
-
Values assigned to keys are also unicode strings. You can use all unicode characters for values. There's an optional user-defined content type associated with each value. Use this attribute to store information, for example an encoding scheme, about a value that helps your application to process it properly.
88
+
Values assigned to keys are also unicode strings. You can use all unicode characters for values. There's an optional user-defined content type associated with each value. Use this attribute to store information about a value that helps your application to process it properly.
87
89
88
-
Configuration data stored in an App Configuration store, which includes all keys and values, is encrypted at rest and in transit. App Configuration isn't a replacement solution for Azure Key Vault. Don't store application secrets in it.
90
+
Configuration data stored in an App Configuration storeis encrypted at rest and in transit. The keys are not encrypted at rest. App Configuration isn't a replacement solution for Azure Key Vault. Don't store application secrets in it.
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/faq.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,27 +1,22 @@
1
1
---
2
-
title: Azure App Configuration FAQ | Microsoft Docs
2
+
title: Azure App Configuration FAQ
3
3
description: Frequently asked questions about Azure App Configuration
4
4
services: azure-app-configuration
5
-
documentationcenter: ''
6
5
author: lisaguthrie
7
-
manager: maiye
8
-
editor: ''
9
6
10
-
ms.assetid:
11
7
ms.service: azure-app-configuration
12
8
ms.topic: conceptual
13
-
ms.date: 05/02/2019
9
+
ms.date: 02/19/2020
14
10
ms.author: lcozzens
15
-
ms.custom: mvc
16
11
---
17
12
18
13
# Azure App Configuration FAQ
19
14
20
-
This article addresses frequently asked questions about Azure App Configuration.
15
+
This article answers frequently asked questions about Azure App Configuration.
21
16
22
17
## How is App Configuration different from Azure Key Vault?
23
18
24
-
App Configuration is designed for a distinct set of use cases: it helps developers manage application settings and control feature availability. It aims to simplify many of the tasks of working with complex configuration data.
19
+
App Configuration helps developers manage application settings and control feature availability. It aims to simplify many of the tasks of working with complex configuration data.
25
20
26
21
App Configuration supports:
27
22
@@ -32,11 +27,11 @@ App Configuration supports:
32
27
- Specialized management operations
33
28
- A feature-management user interface
34
29
35
-
App Configuration is complementary to Key Vault, and the two should be used side by side in most application deployments.
30
+
App Configuration complements Key Vault, and the two should be used side by side in most application deployments.
36
31
37
32
## Should I store secrets in App Configuration?
38
33
39
-
Although App Configuration provides hardened security, Key Vault is still the best place for storing application secrets. Key Vault provides hardware-level encryption, granular access policies, and management operations, such as certificate rotation.
34
+
Although App Configuration provides hardened security, Key Vault is still the best place for storing application secrets. Key Vault provides hardware-level encryption, granular access policies, and management operations such as certificate rotation.
40
35
41
36
You can create App Configuration values that reference secrets stored in Key Vault. For more information, see [Use Key Vault references in an ASP.NET Core app](./use-key-vault-references-dotnet-core.md).
42
37
@@ -58,17 +53,22 @@ There's a limit of 10 KB for a single key-value item.
58
53
59
54
## How should I store configurations for multiple environments (test, staging, production, and so on)?
60
55
61
-
Currently you control who can access App Configuration at a per-store level. Use a separate store for each environment that requires different permissions. This approach gives you the best security isolation.
56
+
You control who can access App Configuration at a per-store level. Use a separate store for each environment that requires different permissions. This approach provides the best security isolation.
62
57
63
58
## What are the recommended ways to use App Configuration?
64
59
65
60
See [best practices](./howto-best-practices.md).
66
61
67
62
## How much does App Configuration cost?
68
63
69
-
There are two pricing tiers: 1) a free tier, and 2) a standard tier.
64
+
There are two pricing tiers:
70
65
71
-
If you created a store prior to the introduction of the Standard tier, it automatically moved to the Free tier upon general availability. You can choose to upgrade to the Standard tier, or remain on the Free tier if it meets your needs.
66
+
- Free tier
67
+
- Standard tier.
68
+
69
+
If you created a store prior to the introduction of the Standard tier, it automatically moved to the Free tier upon general availability. You can choose to upgrade to the Standard tier or remain on the Free tier.
70
+
71
+
You can't downgrade a store from the Standard tier to the Free tier. You can create a new store in the Free tier and then import configuration data into that store.
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/overview.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: lisaguthrie
5
5
ms.author: lcozzens
6
6
ms.service: azure-app-configuration
7
7
ms.topic: overview
8
-
ms.date: 02/24/2019
8
+
ms.date: 02/19/2020
9
9
---
10
10
11
11
# What is Azure App Configuration?
@@ -14,9 +14,9 @@ Azure App Configuration provides a service to centrally manage application setti
14
14
15
15
## Why use App Configuration?
16
16
17
-
Cloud-based applications often run on multiple virtual machines or containers in multiple regions and use multiple external services. Creating such a distributed application that's robust and scalable is a challenge.
17
+
Cloud-based applications often run on multiple virtual machines or containers in multiple regions and use multiple external services. Creating a robust and scalable application in a distributed environment presents a significant challenge.
18
18
19
-
Various programming methodologies help developers deal with the increasing complexity of building applications. For example, the [Twelve-Factor App](https://12factor.net/) describes many well-tested architectural patterns and best practices for use with cloud applications. One key recommendation from this guide is to separate configuration from code. In this case, an application’s configuration settings should be kept external to its executable and read in from its runtime environment or an external source.
19
+
Various programming methodologies help developers deal with the increasing complexity of building applications. For example, the [Twelve-Factor App](https://12factor.net/) describes many well-tested architectural patterns and best practices for use with cloud applications. One key recommendation from this guide is to separate configuration from code. An application’s configuration settings should be kept external to its executable and read in from its runtime environment or an external source.
20
20
21
21
While any application can make use of App Configuration, the following examples are the types of application that benefit from the use of it:
22
22
@@ -33,7 +33,7 @@ App Configuration offers the following benefits:
33
33
* Dedicated UI for feature flag management
34
34
* Comparison of two sets of configurations on custom-defined dimensions
35
35
* Enhanced security through Azure-managed identities
36
-
*Complete data encryptions, at rest or in transit
36
+
*Encryption of sensitive information at rest and in transit
37
37
* Native integration with popular frameworks
38
38
39
39
App Configuration complements [Azure Key Vault](https://azure.microsoft.com/services/key-vault/), which is used to store application secrets. App Configuration makes it easier to implement the following scenarios:
The easiest way to add an App Configuration store to your application is through a client library that Microsoft provides. Based on the programming language and framework, the following best methods are available to you.
47
+
The easiest way to add an App Configuration store to your application is through a client library provided by Microsoft. The following methods are available to connect with your application, depending on your chosen language and framework
48
48
49
49
| Programming language and framework | How to connect |
0 commit comments