Description
A note for the community
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
Problem
Vector 0.46.0 bumped Azure SDK from 0.17.0 to 0.21.0 here: 0085246
However, this introduced a regression transitively from Azure SDK version 0.20.0 that wasn't fixed until 0.22.0:
It's worth noting, however, that 0.22.0 introduces its own regression - namely, the removal of EnvironmentCredential from DefaultAzureCredential. In 0.17.0 as well as 0.18.0 through 0.21.0, the first method attempted by DefaultAzureCredential was EnvironmentCredential (see eg https://docs.rs/azure_identity/0.17.0/azure_identity/struct.DefaultAzureCredential.html). However, in 0.22.0, EnvironmentCredential has been removed altogether, and is therefore no longer included in the list of methods that DefaultAzureCredential will try. In any case, upgrading to 0.22.0 is complicated by the fact that the related azure_storage crate, which Vector also uses, does not have any version newer than 0.21.0 due to a shift in Microsoft priorities: Microsoft is developing the official Azure SDK for Rust crates and has no plans to update this unofficial crate.
- while it is possible to handle this with some kludges to shim between the 0.21.0 and 0.22.0 versions of azure_core classes, the result is pretty ugly and in any case doesn't fully work due to the missing EnvironmentCredential class.
Probably the easiest short term solution is to revert the azure version bumps introduced in 0085246 or at least stick with 0.19.0 as the highest supported version for now.
Long-term, the ideal would probably be to do the presumably large refactor to switch from azure_core/azure_identity/azure_storage et al to eg https://docs.rs/crate/azure_storage_blob/latest (the full set of crates can be found at https://azure.github.io/azure-sdk/releases/latest/index.html#rust) - however it is explicitly marked as not suitable for Production at the moment.
Configuration
5ECA
Version
0.46.1
Debug Output
Example Data
No response
Additional Context
No response
References
No response