斯潘8
斯潘4
正如谷歌12月11日宣布的那样,2018年, Google Fusion Tables和Fusion Tables API 将于12月3日关闭,2019。一些用户可能在2019年8月开始看到错误。关闭服务后,融合表支持将从FME中删除。关于使用FME从Google Fusion表中迁移数据的方法,查看博客帖子 7+Google Fusion Tables备选方案.
本文针对的是FME服务器2017+。有关本文的早期版本,请参阅:教程:目录监视
注意:本教程要求谷歌帐户和Microsoft Excel。
使用标准目录监视配置,每次修改被监视的文件(或文件夹)时,FME服务器都会触发通知。这可能会导致服务器上的处理过载。本教程提供了一种使用空闲时间延迟来优化处理这些迁移的方法。
在下面的示例中,Excel电子表格存储在监视的文件夹中。修改电子表格时,由FME服务器和内容(即文件名,timestamp)存储在数据库表中。该表由按计划运行的工作区检查,并且当每个修改的文件都经过所需的时间时,数据会自动备份到云中的Google Fusion表中。
导航到安装了FME服务器的机器上的文件系统,或者您自己的机器,前提是FME服务器位于同一网络上。创建一个名为“resource”的新文件夹,并将项目_inventory.xlsx文件从附加的下载文件复制到新文件夹中。右键单击资源文件夹中的任意位置,然后单击属性。在“共享”选项卡中单击,高级共享,然后启用共享此文件夹,确保权限设置为写入,然后单击确定。复制UNC网络路径(例如\\ KC-LS-Windows\资源)我们将在下一步中需要它并关闭属性窗口。此外,根据计算机中的共享设置,您可能需要单击共享…按钮,然后单击“资源属性”对话框中的“共享”。
创建包含project inventory.xlsx的共享文件夹,确保权限设置为“完全”
登录您的FME服务器,并在侧菜单栏上的通知下,选择出版物。单击“新建”,并将出版物命名为“同步工具”,然后添加一个新主题以发布到名为“同步工具”的出版物中。选择目录监视协议,对于要监视的目录,选择“指定位置”,粘贴上一步复制的UNC网络路径。监视修改操作(删除创建和删除)。最后,将轮询间隔设置为1分钟,你可以把它作为默认值,但是为了测试的目的,较短的调试间隔会更快。单击“确定”创建出版物。
在FME服务器中创建名为sync_tool的新目录监视发布,设置它以监视资源目录。
打开项目目录到地图.fmw (工作空间α1)在FME工作台中。此工作区将Excel数据写入存储在云中的Google Fusion表。有关Google Fusion表的更多信息,请参阅用户文档.
在导航器窗格中的用户参数中,在发布的参数下,双击[SourceDataset_xlsxr],将路径设置为“\\youruncpath\resource\project inventory.xlsx”,一定要包括报价单。
双击SQLExecutor以修改参数。我们将需要登录到我们的个人谷歌帐户并授权FME。要做到这一点,在sqlExecutor中选择参数,在Google Fusion Table空间参数对话框中,单击(…)。在OAuth身份验证窗口中,使用您自己的Google帐户凭据登录以管理Fusion表,然后单击“允许”。现在在Google Fusion Tables空间参数对话框中有一个刷新标记,复制此令牌以避免在以后的步骤中重新进行身份验证。单击“确定”退出SQLExecutor参数
双击[GoogleToken]用户参数并粘贴到Fusion表刷新令牌中,以连接到您自己的帐户。
项目库存到工作区工作流亚搏在线
发布到FME服务器,创建一个名为“项目库存”的新存储库,然后向作业提交者服务注册。(注意:确保取消选中“上载数据文件”,以便Excel文件不会上载到服务器)
在FME工作台打开项目库存状态.fmw (工作空间α2),当目录监视协议发送修改触发器时,此工作区将运行。通知消息的详细信息(即文件名,时间戳)存储在数据库中,在本例中,这将是一个Google Fusion表。
这个工作区是用一个名为googletoken的用户参数设置的,以加速sqlExecutor和writer中的身份验证过程。这与最后一步的过程相同。单击googletoken published参数并粘贴刷新令牌。
发布工作区FME服务器,在项目库存库中,并使用通知服务注册工作区。单击编辑并选择同步工具订阅主题。(注意:您可能会收到警告消息-此工作区使用自定义格式,需要提供给FME服务器-单击“是”接受。)
项目清单状态.fmw(工作区2)工作流亚搏在线
为了让工作区在FME服务器上使用自定义转换器运行,我们需要上传自定义转换器。在FME服务器中,转到“资源”并导航到“引擎”文件夹中的“格式”文件夹。单击上载并浏览到目录“watch\u reader.fds”,它位于本教程开头下载的文件夹中。
将目录“watch”reader.fds上传到FME服务器的“格式”文件夹中。
回到打开的FME工作台项目目录同步.fmw (工作空间α3),此工作区用于检查数据库(Google Fusion表)中是否有修改过的文件,并在必要时将其发送给用户进行处理。
在用户参数中,双击[谷歌令牌]并粘贴刷新令牌。在FMEServerJobSubmitter中,连接到您的FME服务器。然后选择项目库存库,并选择项目库存到工作区。单击左下角的刷新图标,将项目“库存”中的参数输入到“地图”中。这将启用项目目录到地图.fmw(工作空间α1)跑一次项目目录同步.fmw (工作空间α3)已经运行。
在同一个存储库中发布到FME服务器,并向作业提交者注册。
项目_inventory_sync.fmw(工作区3)工作流亚搏在线
在FME工作台打开DB加载程序 (工作空间α4),此工作区在Google Fusion数据库中创建两个表。
在“导航器”窗格的“用户参数”下,双击[sourcedataset_xlsxr]并浏览到共享资源文件夹并添加project inventory.xlsx文件
下一步,双击[SourceDataset_csv]并浏览到文件下载附带的名为project_inventory_file_status.csv的csv文件。
然后像以前一样更新[GoogleToken]然后运行工作区。运行翻译之后,请登录您的Google Drive帐户以确保工作区正确运行,你应该看到两个文件,项目库存和项目库存文件状态。
db_loader.fmw(工作区4)工作流。亚搏在线创建两个Google Fusion表
最后一步是设置一个时间表来检查跟踪数据库。这可以设置为每隔几分钟运行一次。此计划将运行项目目录同步.fmw (工作空间α3),它检查跟踪数据库上一次修改的时间。如果大于工作区内设置的空闲时间,数据将被迁移。
在FME服务器中,转到“计划”页,单击“新建”以创建名为“项目库存同步”的新计划,并创建名为“项目库存”的新类别。立即检查运行情况,然后将其设置为每2分钟重复一次,或者设置为希望重复的频率。
然后将存储库设置为“项目库存”,并选择项目目录同步.fmw(工作空间α3)单击“确定”以设置计划。将显示一个已发布的参数部分,如果你愿意,你可以调整等待的时间,这是更新Excel文件并处于空闲状态后所需的等待时间。一旦满足这个条件,数据将被同步到Google Fusion表。也,确保刷新令牌正确。单击“确定”开始计划。
在FME服务器中,单击通知,然后单击主题监视选项卡。对于要监视的主题,添加同步工具。这将在每次修改文件时发送通知。确保此页面保持打开状态,以便继续主题监视。
在这一点上,所有必要的步骤都已经到位,可以为电子表格数据建立一个优化的备份系统。要对此进行测试,请尝试以下步骤:
打开Google Drive并打开您创建的两个Fusion表文件,项目库存和项目库存文件状态。要做到这一点,右键单击文件,然后用>Google Fusion表打开。
在Excel(project_inventory.xlsx)中打开Excel文档,然后输入新行:
100007检修孔更换49.2755567-123.0576200
保存Excel文件,确保它保存到共享资源文件夹中,文件扩展名为.xlsx。这将触发目录监视协议向同步工具主题发布修改。如果在新的FME服务器窗口中打开作业,项目“inventory\u status.fmw”工作区将运行,然后根据你的时间表,项目“inventory\u sync.fmw”将运行,取决于日程安排如何符合您的更新,为了更新google fusion表,您可能需要等待调度运行两次。根据计划的设置方式和等待秒数参数的设置,最多等待5分钟,使此进程运行。在分配的时间过后,刷新两个Google Fusion表以查看更新。
在Excel中修改项目inventory.xlsx文件时在FME服务器中进行主题监视
使用空闲时间延迟对于在更新文档时保存文档备份很有用。只有当工作区在本地文档中检测到一段时间后发生更改时,工作区才会运行。这释放了宝贵的服务器引擎,仅在需要时运行工作区,而不是按计划运行。创建单独的状态表对于确保预期对本地文件进行更新也很有用,尤其是当文件在多个用户之间共享时。
教程概述:目录观察γ 上一页:目录监视发布者 |当前:具有空闲时间延迟的目录监视发布服务器(高级)
?2019安全亚搏在线软件公司|合法的