[ 
https://issues.apache.org/jira/browse/NIFI-15775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Handermann updated NIFI-15775:
------------------------------------
    Status: Patch Available  (was: In Progress)

> 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
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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