您好!
我在当前使用数据下载服务的FME服务器(云)上有一个工作区。它要求用户上载.csv和.pdf,然后它运行一个翻译并提供一个.kmz和一个geotiff文件夹。
我想使用对RESTAPI的调用来运行这个工作区。我正在努力想办法把2个文件作为一部分上传。提交打电话。假设我能做到,呼叫是否仍会触发数据下载?还是需要写入共享资源文件夹?
感谢您的帮助,谢谢。
我想创建一个HTML/javascript站点,让用户上传一个压缩文件,并开始在FME服务器上处理这个文件。工作流与亚搏在线我在这里找到的示例非常相似:https://playground.fmeserver.com/javascript/server-uploads/upload-file-in-session/
使用这个示例中的代码,我可以上传档案(参见屏幕截图)。我还检查了FME服务器上的资源,对我来说,一切似乎都是正确的——归档文件按我的预期上传到一个临时文件夹中。然而,它不能被“识别”为正确的输入文件,当点击“用数据运行工作区”时,我会收到一条错误消息,说“没有上载任何文件”。请上传一个文件。“
我已经找到建议将“opt-extractArchive”的参数值从“false”更改为“true”,但这对我没有任何帮助。
如有任何帮助,我们将不胜感激:—)
大家好
我已经读过相关的话题,还需要澄清。我想做的是通过HTTP Post启动JobSubmitter服务,并使用通过Post上载的文件(csv或shape文件)作为服务中阅读器的源数据。我正在使用邮递员进行测试,这正是我要发布的内容:
这个文章声明不能在正文中使用表单数据,只有原始数据。这是否意味着我使用的方法不起作用,或者有人设法让它起作用了?如果可能的话,如何设置文件上载将上载到的FME云位置?
如果这种方法不可行,我正在考虑使用上载服务上载文件,然后在上载到达FME云中的目标文件夹时运行工作区(通过通知启动进程)。
任何其他建议都是最受欢迎的。
谢谢
罗布
如果您想查看转移状态(例如%完成)使用S3uploader上传时。当我用S3uploader上传大文件时,我没有任何迹象表明我的FME工作台是否停止或是否正在进行中!
如果AWS不使用端点提供此信息,则可能无法实现此增强。
你好,
当我在FME数据检查器中检查我的数据时,我拥有所有的行,但是,当我将数据写入Excel电子表格时,我有很多空行,并且填充了一些行。
有人面临同样的情况吗?
谢谢。
雅各布
大家好,
我给Salesforce写信有困难。我了解在使用Salesforce批量API加载数据之前,FME会将这些特性写入临时的csv文件。我遇到的问题是,在写csv文件时,fme会删除字段。特殊性,FME正在删除Salesforce应用程序中所需的ID字段。此ID字段是主细节数据类型(1:n父子关系),设置为读/写。
令人沮丧的是,如果我将记录导出为csv字段,然后手动上载它们,它很好用。日志文件和帮助也相当无用。
谢谢,
大卫
使用开发者操场,有一个上传文件的例子
http://playground.fmeserver.com/javascript/server-…
我还没弄清楚的是,为什么不上传zip文件?
谢谢你的帮助
现在,FME服务器和FME云允许用户上传(或从资源中选择)他们想要的任何文件作为源数据集,例如。如果我用图形阅读器设置了一个工作区,但是用户上传了一个dxf文件,那么它将失败,并出现一些可怕的错误消息。这对用户不太友好。
我想看到的是一个选项,禁止上传/选择不支持的文件类型,桌面版本目前正在做的事情。它仍然可以被规避,但这可以防止许多意外事件。
这个例子演示了如何使用FME服务器创建一个Web应用程序,允许用户通过电子邮件或上传数据到服务器,然后由服务器验证数据。将数据加载到Postgres数据库中,向用户发送带有验证结果的电子邮件(或在上载时显示这些结果)。并在应用程序中更新实时数据显示。
此实时演示使用通知服务的组合,PostgreSQL数据库触发器,以及FME服务器的内置WebSocket功能。更多信息,请参阅以下内容:
当电子邮件发送到服务器时,电子邮件发布者接收消息并将电子邮件数据发布到服务器上名为cad_waterqa的通知主题。
然后触发订阅该主题的推送订阅并运行控制器工作区,将通知内容作为该工作区的源数据发送给它。
控制器工作区读取通知内容并解析出它需要的信息(发件人电子邮件地址,所附CAD文件的位置,等)。然后它会运行验证子工作区。
验证工作区执行以下操作:
根据验证工作区的成功情况,然后,控制器工作区将:
如果是直接上传,仅运行验证工作区,结果报告将通过网络应用程序下载。
在Postgres数据库表上设置触发器,以便在每次向表中插入新行时运行。该触发器运行一个函数,该函数获取传入功能的ID,并通过HTTP POST请求将其发送到服务器上的另一个工作区。
该工作区采用功能ID,从Postgres数据库读取特征几何,然后发送到FME服务器的websocket组件。
然后,WebSocket服务器接收这些数据并将其转发到Web应用程序中的地图显示,并动态地将这些功能加载到页面上。
链接的zip文件包含所有工作区和SQL脚本,您将需要这些工作区和SQL脚本来让这个演示在您自己的系统上工作。这是本演示的存档版本,使用Oracle和WebSocket服务推送器。它不再被维护,但可供FME Server 2013的用户使用。
运行中包含的SQL脚本后格雷斯文件夹:
有关数据库触发器和FME的其他信息,请参阅使用触发器将数据从数据库中实时推出到FME服务器
创建以下主题:
创建电子邮件发布者:
创建两个电子邮件订户:
准备validate-subworkspace.fmw
准备cad-upload.fmw
准备websocket-stream.fmw
有关内置WebSocket服务器的详细信息,请看WebSockets和FME服务器
准备reset-postgis-table.fmw
除上述步骤外,您需要确保在FME服务器上设置了适当的权限。默认情况下,来宾用户需要具有运行重置工作区的权限,因为它直接从网页链接到。此外,WebSocket流式工作区需要从数据库运行,所以它要么由客人运行,或者对其他用户帐户使用令牌身份验证。
FME服务器的数据加载功能允许用户从几乎任何来源获取数据,并自动将其直接加载到数据库中。在背景中,数据加载本身是一个两步过程。第一,用户可以访问FME服务器上的工作区,然后,该工作区以该数据为源并将其写入最终输出位置。这个过程可以通过Web服务或通知服务来处理。
为了允许将数据读取到工作区中,必须发布读卡器上的源数据集参数。工作区发布到FME服务器后,您的用户可以拖放文件,在本地或服务器上浏览并选择文件,或者甚至提供Web服务的URL,使工作区内的读卡器可以访问数据。
通过Web表单上载数据
这种数据加载方法利用数据上传服务,允许用户将数据推送到FME服务器。使其可用作工作区内的源数据集。用户可以通过FME服务器Web用户界面或自定义网页与数据上传服务进行交互。
有关数据上传服务的详细信息,请参阅以下文档:FME服务器数据上传服务.有关通过Web界面上载数据和创建自己的数据上载网页的一些实用示例,尝试本教程:使用FME服务器上传数据
使用来自Web服务的数据
而不是让您的用户上传要加载的数据,可以将FME服务器上的工作区配置为直接从URL读取数据。发布源数据集时,您需要做的只是提供链接作为源数据集,读卡器将直接从该位置获取数据。
有关直接从Web服务使用数据的详细信息,在这里查看教程页面:从URL读取数据.
将数据发布到FME服务器Web服务
使用FME加载数据的另一个选择是直接将其发布到FME服务器,并触发一个工作区以将该数据作为其源数据集读取。这意味着不是告诉FME在哪里找到源数据集,您只需将数据本身直接发送到FME服务器上的工作区。
查看以下教程,了解更多有关此操作的信息,以及如何在FME服务器上配置工作区以接受此类型的输入:使用HTTP POST将源数据发送到FME服务器
通知服务可用于以消息的形式将数据推送到FME服务器。这些消息可以通过多种方式发送到FME服务器,包括通过HTTP POST,通过发送到服务器的电子邮件,或者当特定目录中的数据被更新时。
在通知消息中发送数据
使用通知服务,您可以向FME服务器发送包含任何类型信息的消息。例如,您可以发送一条JSON消息,其中包含一个数据集的位置,该数据集可以装载到一个集中的数据库中,并使用诸如JSonFlatener和FeatureReader之类的转换器来提取文件路径,然后读取数据。或者,只需配置一个传感器,以文本形式直接向FME服务器发送更新,并根据更新中的信息启动其他FME过程。
有关在FME服务器中发送和接收通知的更多信息,请看这篇文章:接收,正在检查,和处理通知消息
通过电子邮件将数据发送到服务器
可以将FME服务器配置为接收电子邮件,然后将电子邮件的内容(包括任何附加文件)以JSON格式传递到工作区。有关FME服务器电子邮件功能如何工作的信息,请参阅以下文章:FME服务器中的电子邮件:教程系列
有关如何配置FME服务器接收电子邮件和设置工作区以处理相应通知消息的更具体信息,尝试以下开始的接收电子邮件教程:接收电子邮件,第1部分:设置主题和电子邮件地址
监视目录并加载新数据集
简化数据加载过程的另一个选项是通过目录观察发布服务器(FME 2014通知服务的新添加)。它可以设置为主动监视共享资源或其他目录上的活动,并在添加文件时发送消息,更新,或删除。
为了自己试试这个,请看下面的演示:目录监视教程
EasyGeocoder演示是一个如何使用FME服务器创建动态“数据驱动”工作流的示例,该工作流可以使用有关输入数据集的信息来提供运行数据转换的选项。亚搏在线这个示例应用程序允许用户上传自己的csv文件进行地理编码。它使用一个多步骤流程,首先使用工作区扫描csv文件,以获取文件中存在的列的列表,然后使用这些信息为用户提供选项,以选择哪些列对应于必要的地理编码字段。最后,Easygeocoder将把这些信息提交到第二个工作区,该工作区将运行geocoding过程并将结果流式传输到Web地图。
这个演示由两个工作区和一个调用FME服务器的javascript Web表单提供支持。以下是运行演示所涉及的过程和步骤的概述:
你可以试试演示的实时版本或看看源代码让Web应用程序了解如何直接使用对FME服务器工作区的调用来生成动态内容。单击以下链接可查看FME服务器REST API和FME服务器JavaScript API电话。