You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Petr Kuzel (Jira)" <ji...@apache.org> on 2023/04/19 11:32:00 UTC

[jira] [Created] (CAMEL-19279) Introduce a file component for Azure Files (mimic the FTP component)

Petr Kuzel created CAMEL-19279:
----------------------------------

             Summary: Introduce a file component for Azure Files (mimic the FTP component)
                 Key: CAMEL-19279
                 URL: https://issues.apache.org/jira/browse/CAMEL-19279
             Project: Camel
          Issue Type: New Feature
          Components: camel-azure
    Affects Versions: 3.20.3
         Environment: standalone or containerized Spring Boot app
            Reporter: Petr Kuzel
             Fix For: 3.x


I have a new RFE which includes integrating Microsoft Azure Files over public Internet.

 

Initial findings and constraints:

 

  - Azure Files do not implement the FTP standard.

  - Azure Files could expose SMB protocol but SMB over public Internet is blacklisted by the security policy.

  - Azure Files could expose NFS protocol but its pricing is prohibitive (so security has not been even evaluated).

  - Azure Files have REST API <[https://github.com/Azure/azure-rest-api-specs]> and Java SDK <[https://github.com/azure/azure-sdk-for-java]>.

  - My team is used to Camel 3.x components (includes the FTP component).

 

In pre-discussions having a Camel Azure Files component that extends RemoteFileComponent<FTPFile> took preference over trying to use the Camel REST component as a client of the Azure Files REST API.  

 

The Camel Azure Files component that extends RemoteFileComponent<> does not exist yet.

 

This feature request is to develop the Camel Azure Files component that supports:

 

  - producer

  - consumer (polling unless Azure Java SDK allows event driven)

  - secure auth over public Internet

  - move and moveFailed

  - filters  

  - recursive

  - read locks  (the changed lock unless Azure Java SDK allows a superior)

  - timeouts (connect, read, write, changed lock)

  - retries

  - disconnect

  - multiple protocol versions (if applicable)

  - compatible with Camel 3.x

  - many files 

  - large files 

 

-----

Appendix

The initial question on the users mailing list, that ended with the recommendation to enter new Camel feature request for a file-based component.   

 

_Given that I see the two options:_

 

  _A: use Camel REST component._

  _B: use Azure Files remote file component._

 

_Neither seems easy. For the Camel REST component, I'd need to implement a polling consumer via REST and match the FTPS component-like capabilities. For Azure Files, I have not found a developed Camel remote file component so its development would be required, i.e. likely a continuation at the Camel dev list..._



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