Skip to content

CAMEL-23328: Add support for blob index tags (set and get) to camel-azure-storage-blob#22673

Open
oscerd wants to merge 1 commit intomainfrom
ci-issue-CAMEL-23328
Open

CAMEL-23328: Add support for blob index tags (set and get) to camel-azure-storage-blob#22673
oscerd wants to merge 1 commit intomainfrom
ci-issue-CAMEL-23328

Conversation

@oscerd
Copy link
Copy Markdown
Contributor

@oscerd oscerd commented Apr 17, 2026

Summary

Claude Code on behalf of Andrea Cosentino

Adds two new producer operations to the camel-azure-storage-blob component for managing Azure Blob Storage index tags:

  • setBlobTags — Sets user-defined key-value tags on a blob. Tags can be provided via the CamelAzureStorageBlobTags header (Map<String, String>) or as the message body.
  • getBlobTags — Retrieves tags from a blob. Returns the tags as the message body and also sets them in the CamelAzureStorageBlobTags header.

Changes

  • BlobOperationsDefinition: added setBlobTags and getBlobTags enum values
  • BlobConstants: added BLOB_TAGS header constant (CamelAzureStorageBlobTags)
  • BlobExchangeHeaders: added static getter getBlobTagsFromHeaders() and fluent setter blobTags()
  • BlobClientWrapper: added setTags() and getTags() wrapper methods using BlobSetTagsOptions / BlobGetTagsOptions
  • BlobOperations: added setBlobTags() and getBlobTags() operation implementations
  • BlobProducer: wired new operations in the switch statement
  • BlobConfiguration: updated @UriParam enums string
  • BlobConfigurationOptionsProxy: added getBlobTags() proxy method
  • Documentation: added operation rows in the operations table and usage examples
  • All generated files (catalog JSON, component JSON, endpoint DSL) regenerated

Tests

  • 4 unit tests in BlobOperationsTest: testSetBlobTags, testSetBlobTagsFromBody, testSetBlobTagsWithNoTagsThrows, testGetBlobTags
  • 3 integration tests in BlobOperationsIT (Azurite): testSetAndGetBlobTags, testSetBlobTagsFromBody, testOverwriteBlobTags
  • All 36 unit tests pass, all 41 integration tests pass (including 18 in BlobOperationsIT)

Test plan

  • Unit tests pass (mvn test in module)
  • Integration tests pass with Azurite (mvn verify)
  • Set tags via header and retrieve them
  • Set tags via message body and retrieve them
  • Overwrite tags and verify only new tags are returned
  • Error when no tags are provided

🤖 Generated with Claude Code

…zure-storage-blob

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd oscerd requested a review from davsclaus April 17, 2026 10:16
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-azure/camel-azure-storage-blob
  • dsl/camel-endpointdsl
All tested modules (9 modules)
  • Camel :: Azure :: Storage Blob
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Endpoint DSL
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

Copy link
Copy Markdown
Contributor

@apupier apupier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rebase required with conflicts to fix

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants