Skip to content

CSB-8935: Add blob index tags routes and test - #218

Open
tdiesler wants to merge 2 commits into
apache:mainfrom
tdiesler:CSB-8935-azure-storage-blob
Open

tdiesler wants to merge 2 commits into
apache:mainfrom
tdiesler:CSB-8935-azure-storage-blob

Conversation

@tdiesler

@tdiesler tdiesler commented Oct 5, 2026 •

Copy link
Copy Markdown

CSB-8938: Add blob snapshot routes and test

Summary

Adds the camel-example-spring-boot-azure-storage-blob example module demonstrating
the Camel Azure Storage Blob component on Spring Boot.

Commits:

  • Introduces the camel-example-spring-boot-azure-storage-blob module with basic blob upload/download
  • Adds setBlobTags, getBlobTags and findBlobsByTags routes
  • Adds createSnapshot route for snapshot creation/reading blob content

Test approach:

All tests run against Azurite (https://github.com/Azure/Azurite) (Azure Storage
emulator) via Testcontainers — no cloud credentials required. Each test class follows
the canonical CSB test pattern (CamelAutoConfiguration.class + test class +
@configuration with @DynamicPropertySource).

tdiesler and others added 2 commits October 5, 2026 16:18
- Introduces the camel-example-spring-boot-azure-storage-blob module with basic blob upload/download
- Adds setBlobTags, getBlobTags and findBlobsByTags routes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Adds createSnapshot route for snapshot creation/reading blob content

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tdiesler
tdiesler force-pushed the CSB-8935-azure-storage-blob branch from bac4f3a to c2b0d8a Compare October 5, 2026 14:26

@Croway Croway left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Claude Code on behalf of Federico Mariani

from("direct:uploadBlob")
.to("azure-storage-blob://{{azure.storage.account-name}}/{{azure.storage.container-name}}"
+ "?operation=uploadBlockBlob"
+ "&serviceClient=#serviceClient");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No serviceClient bean is defined in main code (only in the tests), so the app fails at startup: NoSuchBeanException: No bean could be found in the registry for: serviceClient of type: com.azure.storage.blob.BlobServiceClient. Same for BlobTagsRouteBuilder and BlobSnapshotRouteBuilder. Either add a @Bean BlobServiceClient serviceClient in main, or drop #serviceClient and configure the component via properties.

camel:
component:
azure-storage-blob:
credential-type: SHARED_KEY_CREDENTIAL

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

AZURE_STORAGE_ACCESS_KEY from the README is never read, so SHARED_KEY_CREDENTIAL has no key to sign with. Suggest adding access-key: ${AZURE_STORAGE_ACCESS_KEY} here (or using it in a main-code client bean).

@@ -0,0 +1,11 @@
azure:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missing ASF license header.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants