feat: Add moss-connector-snowflake - #336
Open
rohanshrma222 wants to merge 2 commits into
Open
Conversation
Contributor
Author
|
@HarshaNalluru Can you approve this PR, i have attached a working demo video also. |
Codex reviewNo issues found. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Checklist
Please ensure that your PR meets the following requirements:
Description
Implements the Snowflake source connector for packages/moss-data-connector as described in issue.
This connector reads the result of any SQL SELECT query from a Snowflake warehouse and turns each row into a DocumentInfo document in a Moss search index. It uses the official snowflake-connector-python driver and works against any Snowflake account (Standard, Enterprise, or Snowflake on Azure/GCP).
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
What's included
src/connector.py — SnowflakeConnector class with DictCursor so rows come back as dicts keyed by column name
src/ingest.py — ingest() async helper (copied from _template)
src/init.py — re-exports SnowflakeConnector and ingest
pyproject.toml — declares snowflake-connector-python>=3.0 dependency
tests/test_snowflake.py — unit tests with mocked snowflake.connector.connect and MossClient
tests/test_integration_snowflake_moss.py — live end-to-end test; auto-skips without credentials
README.md — usage guide and quickstart
.env.example — template with both password and RSA key-pair auth options
Row added to packages/moss-data-connector/README.md
Auth support
The connector supports both authentication methods:
Password — standard users (as specified in the issue)
RSA key-pair — SERVICE-type users or accounts with MFA enforced (optional private_key_path parameter)
Fixes #170
prvideo.mp4
Type of Change
Feature