【问题标题】:Spring Cloud Data Flow Git sourceSpring Cloud 数据流 Git 源码
【发布时间】:2019-07-05 12:43:25
【问题描述】:
我有兴趣查看 git 存储库的更改,然后对该存储库的文件进行操作。我可以在 github 中设置一个 webhook 以在存储库更改时通知 Data Flow,但我需要下载/克隆文件来处理它们。是否有一些本地存储可以保证部署到我可以做类似事情的地方?
基本上,数据流部署管道中的处理器是否有可用的本地存储,以便他们可以将文件保存到磁盘并将它们处理到管道的下一个阶段?
谢谢!
【问题讨论】:
标签:
spring
git
spring-boot
spring-cloud-dataflow
【解决方案1】:
Spring Cloud Data Flow 只不过是一个 Spring Boot 应用程序。 SCDF 不直接与应用程序、消息代理或底层平台组件(包括卷挂载)交互。
也就是说,如果您需要应用程序下载和处理下载的文件,则必须依赖应用程序运行所在的组件。
例如,在本地模式下使用 SCDF 时,所有应用程序都在机器/VM 中作为 Java 进程运行,因此如果处理器可以访问本地文件系统,那么可以,您可以将其称为file:/// 资源。您可以使用SFTP to JDBC 数据管道作为参考。在这里,SFTP 源在本地下载文件,读取文件的元数据,然后将元数据作为有效负载发送到下游应用程序,下游应用程序又会启动任务将文件内容写入数据库。
如果您在 Cloud Foundry 中运行 SCDF,您将依赖于托管服务,例如 PCF Volume Services、Minio 和类似的东西。 (见docs)
同样,在 Kubernetes 上使用 SCDF,您可以将 K8s Volume Mounts 与您选择的后端一起使用。(请参阅 docs)