azure-sdk-for-go/sdk/data/azappconfig
Charles Lowell fe87e2d52c Upgrade dependencies [azp skip] 2024-07-17 15:56:28 +00:00
..
internal Clean up lint (#23016) 2024-06-07 15:40:17 -07:00
CHANGELOG.md Increment package version after release of data/azappconfig (#23038) 2024-06-11 19:02:30 +00:00
LICENSE.txt Copy azappconfig to its new location (#18077) 2022-05-18 08:17:22 -07:00
README.md Prepare azappconfig for v1.0.0 release (#21747) 2023-10-11 15:07:00 -07:00
assets.json Add ETag-per-page feature (#22933) 2024-06-06 15:10:02 -07:00
ci.yml * update ci.yml for azcosmos to _pass_ the injected stage rather than calling it directly 2024-03-15 11:17:06 -07:00
client.go Add ETag-per-page feature (#22933) 2024-06-06 15:10:02 -07:00
client_test.go Clean up lint (#23016) 2024-06-07 15:40:17 -07:00
constants.go Clean up lint (#23016) 2024-06-07 15:40:17 -07:00
doc.go Copy azappconfig to its new location (#18077) 2022-05-18 08:17:22 -07:00
examples_test.go Add ETag-per-page feature (#22933) 2024-06-06 15:10:02 -07:00
go.mod Upgrade dependencies [azp skip] 2024-07-17 15:56:28 +00:00
go.sum Upgrade dependencies [azp skip] 2024-07-17 15:56:28 +00:00
options.go Add ETag-per-page feature (#22933) 2024-06-06 15:10:02 -07:00
response_types.go Add ETag-per-page feature (#22933) 2024-06-06 15:10:02 -07:00
setting.go Some refactoring of azappconfig (#21526) 2023-09-08 16:42:29 -07:00
setting_selector.go Add Snapshot support for SDK (#22118) 2023-12-14 14:38:11 -08:00
snapshot.go More azappconfig cleanup (#22209) 2024-01-05 09:42:57 -08:00
test-resources.json Federated auth for live tests (#23018) 2024-06-18 15:32:16 -07:00
utils_test.go Update azappconfig for new test proxy (#22913) 2024-05-17 08:22:25 -07:00
version.go Increment package version after release of data/azappconfig (#23038) 2024-06-11 19:02:30 +00:00

README.md

Azure App Configuration Client Module for Go

Azure App Configuration is a managed service that helps developers centralize their application and feature settings simply and securely. It allows you to create and manage application configuration settings and retrieve their revisions from a specific point in time.

Source code | Package (pkg.go.dev) | Product documentation

Getting started

Install the module

Install azappconfig with go get:

go get github.com/Azure/azure-sdk-for-go/sdk/data/azappconfig

Prerequisites

  • An Azure subscription
  • A supported Go version (the Azure SDK supports the two most recent Go releases)
  • A Configuration store. If you need to create one, see the App Configuration documentation for instructions on doing so in the Azure Portal or with the Azure CLI.

Authentication

Azure App Configuration supports authenticating with Azure Active Directory and connection strings. To authenticate with Azure Active Directory, use the azappconfig.NewClient constructor and to authenticate with a connection string, use the azappconfig.NewClientFromConnectionString constructor. For simplicity, the examples demonstrate authenticating with a connection string.

See the azidentity documentation for more information about possible Azure Active Directory credential types.

Key concepts

A Setting is the fundamental resource within a Configuration Store. In its simplest form, it is a key and a value. However, there are additional properties such as the modifiable content type and tags fields that allow the value to be interpreted or associated in different ways.

The Label property of a Setting provides a way to separate Settings into different dimensions. These dimensions are user defined and can take any form. Some common examples of dimensions to use for a label include regions, semantic versions, or environments. Many applications have a required set of configuration keys that have varying values as the application exists across different dimensions.

For example, MaxRequests may be 100 in "NorthAmerica" and 200 in "WestEurope". By creating a Setting named MaxRequests with a label of "NorthAmerica" and another, only with a different value, with a "WestEurope" label, an application can seamlessly retrieve Settings as it runs in these two dimensions.

Examples

Examples for various scenarios can be found on pkg.go.dev or in the example*_test.go files in our GitHub repo for azappconfig.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Impressions