David Handermann created NIFI-15775:
---------------------------------------

             Summary: Refactor Snowflake Ingest Integration without Ingest SDK
                 Key: NIFI-15775
                 URL: https://issues.apache.org/jira/browse/NIFI-15775
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Extensions
            Reporter: David Handermann
            Assignee: David Handermann


The {{SnowflakeIngestManagerProviderService}} interface abstracts access to the 
Snowflake {{SimpleIngestManager}} class, which is the primary integration point 
for ingesting files to Snowflake Snowpipe services, and polling ingestion 
history. The 
[snowflake-ingest-sdk|https://central.sonatype.com/artifact/net.snowflake/snowflake-ingest-sdk]
 library includes the {{SimpleIngestManager}} along with other classes that 
support Snowpipe Streaming. The library implements the [Snowpipe Streaming 
Classic 
Architecture|https://docs.snowflake.com/en/user-guide/snowpipe-streaming/snowpipe-streaming-classic-overview],
 which is planned for future deprecation.

With current Snowflake file ingestion not using Snowpipe Streaming features, 
the Service interface and implementation should be refactored to work directly 
with the [Snowpipe REST 
API|https://docs.snowflake.com/en/user-guide/data-load-snowpipe-rest-apis]. 
This should remove the dependency on the {{snowflake-ingest-sdk}} library while 
maintaining current Snowpipe file ingest capabilities.

Removing the {{snowflake-ingest-sdk}} requires changing the interface contract 
of {{{}SnowflakeIngestManagerProviderService{}}}, removing the reference to the 
{{SimpleIngestManager}} class. With usage limited to the 
{{GetSnowflakeIngestStatus}} and {{StartSnowflakeIngest}} Processors, the 
impact is localized to the {{{}nifi-snowflake-bundle{}}}, keeping all changes 
within the bundle boundary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to