span8
span4
实施例1:一个翻译的FTP结果尽快翻译末端
在某些情况下,将翻译的结果通过FTP传送到某个地方是很有用的。
这是一个FME_END_TCL脚本(我已经用它附加了一个工作空间),它就是这样做的——注意它利用了DestDataset宏(作为输出位置在工作空间中发布)来查找用于ftp目的的输出文件:
包需要ftp
put[数组名FME_MacroValues];
将“上传FME_MacroValues美元(DestDataset)”服务器“something.anotherthing.com”设置用户ACCOUNTNAMEGOESHERE“passwd”PASSWORDGOESHERE集合康涅狄格州[::ftp::开放服务器用户美元美元passwd)所说的“步骤2”::ftp: Cd $康涅狄格州外向/服务将“第三步”::ftp:列表康涅狄格州*美元将步骤4::ftp:把康涅狄格州FME_MacroValues美元(DestDataset):美元:ftp:康涅狄格州把“上传完成”
当然,在生产中您会包装各种::ftp::..“catch”es中的内容,以便您可以适当地标记错误。
包需要http put [http::geturl http://www.google.ca]展示了如何获取URL并使用其内容(这里我只是将其打印出来,但是如果在@Tcl中调用URL,则可以轻松地将其放入属性中)。我非常喜欢这个想法,我们把它包装成一个新的变压器“URLFetcher”,这是FME的一部分,作为建设4300。本文附带了一个示例(如果您希望在映射文件或Tcl脚本中以另一种方式使用该技术,可以将底层映射文件代码粘贴到下面)。
Tcl2 proc URLFETCHER_fetch {url} {\ package需要http;\ FME_SetAttribute _url_contents {};\ if {[catch {FME_SetAttribute _url_contents \ [http::data [set token $url]] \} errorMsg \] \} {\ catch {http::cleanup $token};\ if {No == {Yes}} {\ FME_LogMessage fme_error \"错误检索URL ' $ URL '在transformer URLFETCHER: $errorMsg\";{} else {\ error \"错误检索URL ' $ URL '在变压器URLFETCHER: $errorMsg\";\} \} else{\放$token;\ catch {http::cleanup $token};\} \}
FACTORY_DEF * TeeFactory \ FACTORY_NAME URLFETCHER \ INPUT FEATURE_TYPE CREATOR_CREATED_1 \输出FEATURE_TYPE URLFETCHER_OUTPUT \ @ TCL2( “URLFETCHER_fetch {@Value(URL)}”)
你可以阅读更多关于使用http的Tcl内http://wiki.tcl.tk/1303。注 - 一个问题,我没有发现,我们将记录作为一个已知的问题是,如果有检索网址的错误,似乎FME过程本身将挂在退出。
PROC getArcGISVersion {} {包需要对注册表进行1.0集路径{HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcInfo的\桌面\ 8.0}设定值注册表中获得$ {路径} RealVersion]返回$ value}设置ArcGISVersion [getArcGISVersion]
像往常一样与FME,可能性是无限的。我想,这个你可以把FME到网络服务器,如果你喜欢它的感觉,所以,尽管有一些乐趣!
©2019安全亚搏在线软件公司法律