Skip to content

Document connector design #464

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 19, 2025

Conversation

Claudenw
Copy link
Contributor

Added documentation for Azure source design

part of KCON-17

aindriu-aiven and others added 8 commits May 19, 2025 07:01
Skeleton outline of the Azure blob Source Connector.
* Adds branch protection to the feature branch
* Adds basic gradle setup and addition of project to build
* Adds basic Common config
* Adds basic Azure blob Source Task

Signed-off-by: Aindriu Lavelle <[email protected]>
# Conflicts:
#	settings.gradle.kts

# Conflicts:
#	.github/workflows/main_push_workflow.yml
#	azure-source-connector/build.gradle.kts
#	azure-source-connector/src/main/java/io/aiven/kafka/connect/azure/source/config/AzureBlobSourceConfig.java
PR Aiven-Open#414 should be closed first.

This PR introduces the Azure Config Fragment which handles all the Azure
specific configuration required by the Source Connector, it also handles
creation of the BlobServiceAsyncClient.

The PR also introduces the AzureBlobClient which handles listing all the
blobs in a container, and handles downloading the of an individual blob.

This is done using an async client, this PR also includes the first
Integration tests, by testing the client against the docker container.

This PR **does not** include changing the Azure sink connector to use
the AzureBlobConfigFragment

Signed-off-by: Aindriu Lavelle <[email protected]>
This is the offset manager entry for the Azure blob source. It is
similar to the S3 source offset manager entry as the bucket is analogous
to the container and blob is analogous to the S3Object.

However it is worth noting they are slightly different.

Signed-off-by: Aindriu Lavelle <[email protected]>
* Adds the source record iterator, transformers the blob into source
records that are ready to be delivered to Kafka
* Adds the AzureBlobSourceRecord which transforms the Azure information
to a source record.
* Update to Azure Client to ignore any empty files.

---------

Signed-off-by: Aindriu Lavelle <[email protected]>
Co-authored-by: Claude Warren <[email protected]>
Co-authored-by: ¨Claude <¨[email protected]¨>
Co-authored-by: Claude Warren <[email protected]>
@Claudenw Claudenw force-pushed the document_connector_design branch from f5c45ce to cac55df Compare May 19, 2025 06:51
@Claudenw Claudenw marked this pull request as ready for review May 19, 2025 08:51
@Claudenw Claudenw requested a review from a team as a code owner May 19, 2025 08:51
@Claudenw Claudenw requested a review from RyanSkraba May 19, 2025 08:51
Copy link
Contributor

@RyanSkraba RyanSkraba left a comment

Choose a reason for hiding this comment

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

LGTM Thanks!

@RyanSkraba RyanSkraba merged commit ba18f1d into Aiven-Open:main May 19, 2025
10 checks passed
@RyanSkraba RyanSkraba mentioned this pull request May 20, 2025
RyanSkraba added a commit that referenced this pull request May 20, 2025
Proposed changelog:

## What's Changed
* Release version 3.2.0 by @github-actions in
#413
* Azure blob skeleton source connector by @aindriu-aiven in
#414
* Add Offset Manager entry for Azure Blob by @aindriu-aiven in
#421
* Feat: azure-blob - add source record iterator by @aindriu-aiven in
#424
* Fixing tests to remove unexpected prefix that was not intended to be
there by @aindriu-aiven in
#448
* Update configuration validation for Source connectors by
@aindriu-aiven in
#447
* Feat: documentation generation by @Claudenw in
#437
* Document connector design by @Claudenw in
#464
* Multiple dependency upgrades, build updates and test fixes.

**Full Changelog**:
v3.2.0...release-tmp
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.

3 participants