Skip to content

feat(azure_blob sink)!: make storage API version configurable - #25984

Open
opencow wants to merge 8 commits into
vectordotdev:masterfrom
opencow:cow/configurable-azure-blob-api-version
Open

feat(azure_blob sink)!: make storage API version configurable#25984
opencow wants to merge 8 commits into
vectordotdev:masterfrom
opencow:cow/configurable-azure-blob-api-version

Conversation

@opencow

@opencow opencow commented Jul 31, 2026

Copy link
Copy Markdown

Summary

Currently, the azure sink hardcodes the x-ms-version header to 2025-11-05 when using Shared Key authentication. Other authentication methods use the version selected by the Azure SDK.

This PR introduces an optional api_version field for azure sink to override the x-ms-version header. This is useful when the storage service (eg. Azure Stack Hub) does not accept the version sent by vector. See:

400 InvalidHeaderValue
HeaderName: x-ms-version
HeaderValue: 2025-11-05

Breaking change: When api_version is unset, shared-key authentication now uses the sdk x-ms-version instead of the previously hardcoded value.

Vector configuration

sinks:
  my_azure_blob_sink:
    api_version: "2021-08-06"
    ...

How did you test this PR?

I built the binary and tested it on a storage system that only supports x-ms-version up to a certain version. All other newer versions fail with InvalidHeaderValue, and having the override api_version resolved the issue.

Is this a breaking change?

  • Yes
  • No

When api_version is unset, shared-key authentication now uses the sdk x-ms-version instead of the previously hardcoded value.

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References

Notes

  • Please read our Vector contributor resources.
  • Do not hesitate to use @vectordotdev/vector to reach out to us regarding this PR.
  • Some CI checks run only after we manually approve them.
    • We recommend adding a pre-push hook, please see this template.
    • Alternatively, we recommend running the following locally before pushing to the remote branch:
      • make fmt
      • make check-clippy (if there are failures it's possible some of them can be fixed with make clippy-fix)
      • make test
  • After a review is requested, please avoid force pushes to help us review incrementally.
    • Feel free to push as many commits as you want. They will be squashed into one before merging.
    • For example, you can run git merge origin master and git push.
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run make build-licenses to regenerate the license inventory and commit the changes (if any). More details on the dd-rust-license-tool.

@opencow
opencow requested review from a team as code owners July 31, 2026 18:19
@github-actions github-actions Bot added docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain: sinks Anything related to the Vector's sinks domain: external docs Anything related to Vector's external, public documentation labels Jul 31, 2026
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@datadog-vectordotdev

This comment has been minimized.

@opencow

opencow commented Jul 31, 2026

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain: external docs Anything related to Vector's external, public documentation domain: sinks Anything related to the Vector's sinks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant