斯潘8
斯潘4
FME MF DIR预定义参数是什么?
fme_mf_dir是几个预先定义的宏(参数)之一,它指的是fme工作区的文件夹位置-其他参数在FME文件.它对于每个工作区都是唯一的(因此它更多的是一个参数而不是一个环境变量)。
fme_-mf_-dir有一个特别的角色,需要注意,可用于组织效果显著的项目。
默认情况下,所有源数据都是使用绝对路径从工作区引用的-例如c:\myfmeproject\source.xxx
然而,每当保存工作区时,FME都会检查是否有源数据包含在同一文件夹中。如果是这样,在工作区中引用它们的路径将从绝对路径更改为相对路径,利用FME-MF-U-DIR。FME开发人员称之为“打包”。
例如,您有源数据…
源数据:c:\myfmeproject\source.xxx将该源添加到新工作区,然后将工作区保存到与数据相同的文件夹中。在内部,工作区现在将源数据引用为…
源数据:$(fme_mf_dir)source.xxx
一方面,这是一个很好的功能。这意味着,如果您需要将整个项目(工作区和数据)移动到另一个磁盘,例如,然后,所有的工作空间仍然可以正常工作,而不需要编辑。这是因为源数据路径相对于工作区的位置,而不是绑定到特定文件夹。
当人们将工作区发送到安全的支持团队时,我们可以通过这种方式判断哪些工作区是保存的,因为我们打开了它们,并且所亚搏在线有源数据集都已正确设置。例如,源都指向r:\pserv\rt\tickets\12345\data.xxx-这不是因为用户知道我们的文件结构并提前预测了票据编号,而是因为他们将工作区和数据保存到了同一文件夹中。如果不是这样的话,我们会得到像q:\projects\fme\roadnetwork\data.xxx这样的路径,我们必须编辑到正确的位置。
另一方面,这种行为可能会给不期望它的用户带来问题。再次使用存储在c:\myfmeproject\中的数据和工作区示例,当数据或工作区分离时,如果其中一个移动到其他位置,就会出现问题。
诚然,即使是最没有经验的用户也会意识到工作区不可能读取已移动的数据,但是,即使是最有经验的用户也可能想知道,当他移动工作区时发生了什么,并且翻译失败,错误消息说源数据丢失了。
问题是,当然,移动工作空间会使相对路径失效,这样,数据就不再是$(fme_mf_dir)source.xxx了——当用户甚至不知道路径是相对的时,这是一个特殊的问题。
首先,仅当工作区与数据保存在同一文件夹中时,才会出现上述问题。没有这一点,FME将永远不会使用相对路径,问题是不可能的。
其次,尽管FME不知道使用Windows资源管理器等移动工作区的用户,使用工作台另存为功能可以知道何时移动工作区。所以,每当使用“文件>另存为”将工作区保存到其他名称/位置时,FME会将相对路径名改回绝对路径名(或者像开发人员所说的那样解包它们)。这样就不会出现相对路径问题。
需要注意的一点是,这不仅仅是指源数据集或目标数据集。工作区中的任何路径都是用fme_mf_dir替换的公平游戏,包括(例如)joiner transformer的源文件或attributeFileWriter transformer的输出文件夹。如果它们与工作区路径相同,那么FME_mf_dir将引用它们,并提供由此带来的所有好处和成本。
?2019安全亚搏在线软件公司|合法的