-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor AzureAppConfiguration with new interfaces #49
Conversation
Offline synced with Zhenlan, two improvements
Updates from design review:
|
Nvm- zhiyuan found it |
For the edge case:
Since the default shape is map and user needs to call If the user wants to use data object, he should set the value as json shape and set the content type as json. |
@rossgrambo There is
Now I see the reason why we implement a custom |
4681bbf
to
819c5fb
Compare
As the design is finalized, this PR is ready for review now. Please take a look. |
Co-authored-by: Zhiyuan Liang <[email protected]>
91528d6
to
f4953da
Compare
Design
We support both two approaches to access key-values, maximize compatibility with customer's application code. For easier adoption of Azure App Configuration, and less code change.
Edge case (for using configuration object only):
In this case, constructConfigurationObject() throws an error.
Mitigation approach
Add an optionskipObjectValidataion: boolean
, default tofalse
.-true
. Throw an error when constructing thedata
object., because of ambiguity.-false
. Skip the validation, allow information lost indata
object, as the preferredget()
method can always have the expected results.(propose to use
constructConfigurationObject(options)
as below, which would not affect the originalload()
call)