西班牙
斯潘4
大家好,十一月快乐!
俗话说“事情总是三来一补”,这就是证据。这个星期的问题与其说是一个问题,不如说是同一要求的三个实例:在文件名中输入日期时间。
问)我有一个工作区,可以下载文件、重命名文件并将其存储在ZIP文件中。所述ZIP文件名中应包含当前日期。这件事能办到吗?
(一)基本上,用户希望将当前日期时间添加到输出文件名中。最明显的用途是停止覆盖同一文件的多次运行。我喜欢这个问题,因为可以在多个地方完成:在writer上、在transformer中或作为日志文件的名称。我们先来看看编剧的剧本。
要获取时间戳,显然需要使用DateTimeStamper转换器或DateTimeNow()函数。但是,如果我直接在输出参数中输入该函数,那么我的文件夹实际上就是DateTimeNow()正如一个用户发现的,如果使用DateTimeStamper并将结果属性(比如@Value(MyDateTimeAttribute))直接放入writer参数中,也会发生同样的情况。
答案是使用数据集扇出而是功能。一个用户尝试过,但最重要的是,我认为他们试图将datetime放入目录名中,而应该将其放入fanout部分:
很简单。除了。。。这仍然有点棘手。函数的作用是:将时间返回到一秒的很小一部分。功能组将写入多个输出文件夹,而不是一个文件夹:
我真的没想到。我想它会使用第一个日期时间作为所有传出数据的文件夹。显然不是这样,但也可以,因为我还可以使用DateTimeFormat()函数来格式化日期,如下所示:
给我。。。
当然,您可以使用任何标志来为您生成正确的datetime样式。
这是我的工作区如果你想试试的话。
另一个解决方案(如一个问题线程所示)是在工作区本身中生成datetime作为属性,并在fanout组件中使用该属性:
好的一面是生成一个日期时间并将其附加到所有功能。您可以避免随着时间的推移使用不同的值的问题,但仍然可以获得分数秒支持。
这是那个工作区我也是。
像这样的时间戳的第二个用法是在像FTPCaller这样的转换器中。其中一个问题是:
我想将.zip文件下载到一个文件夹中,该文件夹的名称实际上是下载的日期。但是,当我尝试将其合并到FTPCaller的“目标文件”路径(例如。C:\下载\@DateTimeFormat(@DateTimeNow(),%Y\u%m\u%d)\@filename)转换失败。
诚然,这是一个老问题,但解决办法是本周公布的。根据戴尔:
花费的时间比我们希望的要长一些,但有记录的是,这是固定的,从FME 2019.2建造19790,将在FME 2020 betas,建造日期晚于20110。
所以这种情况现在也应该奏效了。
最后一个用途是将工作区日志文件名设置为包含日期时间。目前,只有通过使用脚本参数(Python或Tcl)。但是。。。您可以通过两个工作区的设置来实现这一点,这正是您将用于批处理的设置,也正是这种技术最有用的时候。
首先,在helper工作区(执行工作的工作区)中发布日志文件参数:
现在,在控制工作区(运行帮助程序的工作区)中,可以创建日志文件名(包括日期时间)并将其传递给帮助程序工作区:
结果是每个进程都有一个单独的日志文件:
这样更好,因为否则每个进程都会覆盖以前的日志文件。
这是两个工作区如果你想检查设置。
我希望你觉得这个有用。我喜欢约会时间问题,所以把它们组合成FME参数真的是我的乐趣所在(嘿,曼尼托巴的冬夜又长又冷)。你也可以在关于约会时间的一般教程.
以下是本周我看到的一些其他值得注意的问题:
别忘了周一测验结果(注意下周一的测验)。
记住,我们发布了FME服务器的安全更新上周也是。
另外,如果有什么问题你想提名为本周的问题,请告诉我。
本周问题:旋转锉刀0个答案
本周问题:记忆管理与FME0个答案
?2019安全亚搏在线软件公司|合法的