Hi David,
With the current implementation and until Optimizely addresses hypens in the secret name, your going to have to change the code/keys if you wish to use keyvault.
In regards to the connectionstring, I'm afraid it doesn't appear to be able to use the colon either.
It may be best if you open a request for support for hierarchical configurations, and we can up-vote to get it implemented.
Paul
Vote for this change/fix here: https://feedback.optimizely.com/ideas/DXCS-I-410
Currently the DXP Secrets does not support the options pattern within .NET Core. You should name your secrets as if they are root level secrets within the AppSettings.json. You can still assemble multiple separate settings into a single combined object within your DI configuration.
Its also worth noting that secrets are applied to your environment at deployment time and they are not instant.
In trying to add keys to the new key vault, it only allows alphanumeric values. We have hyphens "-" and colons ":" in our keys. It would be helpful not to have to change the code/keys to use this feature. (This was also mentioned here on May 23rd: https://feedback.optimizely.com/ideas/DXCS-I-245)
Also, how do i set a connection string without a colon? These insutructions indicate it should be possible to add a connection string: "You can use Custom for connection strings that do not match the predefined options, such as a connection string to Azure blob storage.": https://docs.developers.optimizely.com/digital-experience-platform/docs/manage-app-settings
Should I just be using "AzureServiceBus"?