Azure / azure-functions-vs-build-sdk

MSBuild task for Azure Functions
MIT License
99 stars 67 forks source link

Consider adding support for hierarchical configuration in local.settings.json #478

Open pakrym opened 4 years ago

pakrym commented 4 years ago

We are planning to use a hierarchical configuration to support different modes of connecting to the service by having.

Build tools currently fail when local.settings.json contain a hierarchical setting:

{
    "Values": {
        "StorageConnection": {
            "endpoint": "https://pakrym0test0storage.blob.core.windows.net/",
        }
    }
}
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: {. Path 'Values.MyStorageConnection', line 5, position 30.
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonTextReader.ReadAsString()
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :    at MakeFunctionJson.FunctionJsonConverter.CheckAppSettingsAndFunctionName(FunctionJsonSchema functionJson, MethodDefinition method)
1>C:\Users\pakrym\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): warning :

cc @fabiocav @mattchenderson @paulbatum

paulbatum commented 4 years ago

cc @brettsam

paddy74 commented 2 years ago

Is there any movement on this?

EmilAlipiev commented 2 years ago

Is there any workaround on this?