西班牙
斯潘4
这个问题与前面关于处理输出到服务器共享数据目录的几个csv文件的文章有关:https://knowledge.亚搏在线safe.com/questions/79707/fme-cloud-亚搏在线workflow-for-moving-media-zip-files-betw.html
@GerhardAt亚搏在线Safe在很多方面都帮了我很大的忙,我还在继续研究和学习我能做的,但是我很难找到最好的解决方法多个CSV文件输出到服务器上共享数据目录下的单个目录是的。并不是所有的CSV文件都将在计划的作业上写入,可以写入的独立的CSV文件的数量在0-23个文件之间是的。这些是一系列作业的输出,这些作业按周计划运行,以更新postgis数据库中的表。
我想使用这些csv文件来触发一个任务,该任务解析从s3存储桶提取的媒体,将其压缩并推送到另一个s3存储桶或unc路径。我正在努力解决的问题是如何分别读取这些csv文件,以便选择正确的列来解析媒体id。我不确定使用csv阅读器或featurereader转换器动态读取这些内容是否是最好的解决方案。我在下面附上了两个工作区的屏幕截图,这些工作区完美地处理了单个csv文件,用于分析媒体id,并在下一个工作区的fmeserverjobsubmitter中使用该输出,该工作区将该媒体从s3存储桶中提取出来并上载到另一个工作区:
-FeatureReader读取CSV文件>分析媒体字符串并连接>写入“photo_ids.csv”文件>fmeserverJobSubmitter初始化下面的下一个工作区。
-FeatureReader读取“photo_ids.csv”文件>S3Downloader of media pull to server temp directory>S3Uploader to new bucket。
我可以将这些作业设置为最多运行23个独立的工作区,并基于每个作业触发一个唯一的目录监视触发器和用于输出的分区目录。但我相信有更好更有效的方法来执行这个工作流,所以我在这里发布到这个社区,希望有人能推荐我一个更好的解决方案。亚搏在线亚搏国际在线官网
我只是很难清楚地考虑清楚,因为我对服务器通知服务还不太熟悉,并且使用生成的日志文件来解析多个已完成作业的字符串文本并触发下游工作区。提前感谢您对这个漫长而复杂的问题的帮助。
@LauraAt亚搏在线Safe,,@Mark2At亚搏在线Safe我是说,
我相信我已经找到了通过使用目录监视阅读器和通知服务来解决这个工作流挑战的解决方案。亚搏在线
我使用主题通知消息中的示例json对其进行了测试,该消息是由directorywatch生成的,并由dirwatch_file_namefilenamepartreader的属性允许在csv文件进入目录时进行顺序处理。谢谢@LauraAt亚搏在线Safe是的。
我通过验证在完成后写入服务器作业的日志文件,并在共享目录中同时加载3个不同的CSV文件来触发此工作区的通知,从而验证了这一点。完成了三个独立的作业,每个作业对应上传的CSV文件。
因此,DirectoryWatchReader不是初始化FeatureReader的创建者,而是初始化者,它捕获发布到服务器时工作区订阅的通知消息的JSON。(工作空间必须订阅到通知服务和DirectoryWatch主题。我没有在照片字段的完整解析过程中运行完整的工作区,但日志记录器的结果表明,这将生成正确的输出来创建photos_ids.csv文件。现在的问题是捕获unique_name作为文件名的一部分进行输入,我认为文件名也可以来自FilenamePartReader输出并应用到文本编辑器中。
更多的尝试,但我想给你我的决心和另一轮的感谢!
托德
不,你肯定不想有23个不同的工作空间。我可以绝对肯定地说。
动态工作空间实际上只适用于编写数据时,以及每个CSV文件的属性名称不同时。
如果你有CSV1(属性= A,B,C)和CSV2(属性= C,D,E)那就是你使用动态的时候。如果您有CSV1 (Attributes = A,B,C)和CSV2 (Attributes = A,B,C),那么您就不需要使用动态转换。
我不能从你的截图中看出这里的情况,但希望这能帮助你决定是否需要动态。
我要做的另一件事是为每个CSV创建的照片创建一个不同的文件名。例如,添加一个TimeStamper转换器来获取当前时间并写入photo_ids_
我建议这样做的原因是,如果您有多个通知同时发生,并且您多次运行同一个工作区,我认为这可能会产生冲突(两个或多个工作区可能同时尝试读取或写入photo_ids.csv)。通过给它一个唯一的名字,你可以避免这个问题。它不一定是基于时间的,但我发现这是最简单的方法之一。
我希望这能有所帮助。如果你有更多的问题,请告诉我们。
为了确保我清楚地了解您在此过程中遇到的难点,我看到其中的StringConcatenator被标记为无效,因为所有CSV文件中都没有字段。在这种状态下工作空间是否可以正常运行?
我认为您应该能够在第一个屏幕快照中修改工作空间,以便能够使用FeatureReader/ writer中的动态阅读器/写入器选项来处理任何文件。以下是一些有助于改变的想法:
?2019安全亚搏在线软件公司|合法的