When trying to create an azure blob storage instance from a connection string, if the key contains a '+' this fails with the cryptic "not a valid base64 value".
After digging around and creating an instance of StorageConnectionString myself and looking at the code, I can see the value of each part gets url decoded.
The documentation does not mention this at all, so either the code should leave the value as-is, or the documentation should be very clear that the secret value needs to be url-encoded.
Might be helpful having an exception in there too to catch this scenario and warn the user that they need to encode the value.
When trying to create an azure blob storage instance from a connection string, if the key contains a '+' this fails with the cryptic "not a valid base64 value".
After digging around and creating an instance of
StorageConnectionStringmyself and looking at the code, I can see the value of each part gets url decoded.The documentation does not mention this at all, so either the code should leave the value as-is, or the documentation should be very clear that the secret value needs to be url-encoded.
Might be helpful having an exception in there too to catch this scenario and warn the user that they need to encode the value.