我需要有关FME数据流服务的帮助。在浏览器中提供PDF文件时遇到问题。我使用数据文件编写器来编写我的PDF,因为我的PDF是二进制格式的。它都在工作台上工作,但是当我在FME服务器中作为数据流尝试时,它会下载带有工作台名称和扩展名为.fmw的PDF。如果我将扩展名改为.pdf,我的pdf就在那里,我可以打开它。我认为FME应该以我在编写器中指定的文件名提供PDF。任何帮助都将不胜感激。
需要在我的应用程序中使用此链接,如何在不输入用户名和密码的情况下运行直接链接?
我假设这是使用来宾用户凭证,
谢谢
我正在服务器上运行一个FME工作区,我通过一个Web界面(一个网页)运行它。工作区的目的是生成一个JSON字符串(当工作区成功运行时),为此,我使用数据流转换服务。当工作区失败时,我想它发送一封电子邮件通知失败。我已经完成了所有的通知和主题设置(使用JobSubmitter异步失败),并在FME服务器Web界面上对其进行了测试,它工作正常。
这个例子演示了如何使用FME服务器将JSON流回到Web浏览器,允许用户玩“国旗乐趣”。
此实况演示使用FME服务器数据流服务,将json返回到网页。
当用户选择要使用多少个标志时,这将作为数据流服务直接URL末尾的参数发送到FME服务器。
已经建立了一个工作区,可以从中央情报局的网页上随机选择一定数量的国家。
回答是json,设置为文本编写器,将mime类型设置为application/json。
工作区使用htmlextractor返回所有国家/地区和国家/地区代码。属性管理器使用国家/地区代码创建国旗图像来源的URL,以及作为线索的地图图像。JSontemplater构建将流回的JSON。
工作区将JSON返回到应用程序,其中包括:问题编号,标志图像的URL,地图图像的URL和国家名称。
本文顶部的zip文件是让这个演示在您自己的系统上工作所需要的。
注意:app.js是将node.js用作带有express的Web服务器。
打开FME桌面2018.1中的flagrequestorcia.fmw。
使用“发布到FME服务器”向导:
var源='/fmedatastreaming/flags/flagrequestorcia.fmw?flags='+flagsRequested;$.getjson(来源)
隐藏/显示元素
游戏背后的很多代码都与隐藏和显示不同的元素有关,取决于游戏的哪个阶段。这些可以通过以下方式看到:
document.getElementByID(““).style=”display:none;“;document.getElementByID(““).style=”display:inline;“;
请求JSON
函数的作用是:通过在URL中传递请求数量的标志作为参数,从FME服务器请求JSON。FlagsRequested是一个分配了请求编号的变量。
var source='https://demos-sa亚搏在线fe-software.fmecloud.com/fmedatastreaming/flags/flagrequestorcia.fmw?flags='+flagsRequested;$.getjson(source).always(function(data)flags=data;totalFlags=data.length;//获取返回的标志数qno=data[currentQuestion].questionno;answer=data[currentQuestion].countryanswer;cluerl=数据[currentQuestion].cluerl;flagurl=data[currentQuestion].flagurl;$('flagimage').attr(“src”,flagurl);//将标志的img源设置为返回的url$('clueImage').attr(“src”,cluerl);//将映射线索的img源设置为返回的url flagnumber=currentQuestion+1;//数组计数从0开始,这就是为什么我们添加1$('flagno').text(“flag”flagnumber+“/”+totalflags);//设置旗号,这样你就能知道你在游戏中的位置);
标志验证
在validateCountry()函数中处理标志验证。
这将获取文本输入并将其与FME服务器返回的正确答案进行比较。每答对一次加1分也能保持分数。
你用另一个FME工作区来做这个,将用户输入的答案和正确的答案发送到FME服务器,以进行一些验证或模糊匹配。然而,这将需要向FME服务器发送更多的请求,因此您需要设置作业队列,以确保引擎始终可用于处理快速数据流请求。
函数validateCountry()var canswer=document.getElementByID('idSearch').value;document.getElementByID(“idSearch”).disabled=true;if(canswer.tolowercase()==answer.tolowercase())document.getElementByID('guesstatus').setattribute(“class”,“label label success”);document.getElementByID('guesstatus').textcontent=“您是正确的”;更正答案=更正答案+1;}else document.getElementByID('guesstatus').setAttribute(“class”,“label label error”);document.getElementByID('guesstatus').textcontent=“正确答案是”+answer;};
我们有2018年的FME服务器内部部署(快速安装)。我正在尝试数据流的FME服务器Web服务,以使.json文件可供Out Web开发人员用于构建应用程序。我无法让数据流服务正常工作。在启用数据流服务的情况下发布到FME服务器之后,我可以运行作业,它将.json文件作为文件下载下载到我的浏览器中。然而,我希望能够向Web开发人员提供一个URL,以便能够按功能ID进行查询,等。对于输出的.json数据。有人能帮我理解如何做到这一点吗?谢谢您!
向数据流添加授权头令牌支持,工作提交人,数据下载服务。可能是通过转换API将它们对齐或合并到RESTAPI中。
例如:
过账/转换/提交交易交易数据/
或者通过一个新的服务管理器API?
我想知道是否有人建议使用FME来处理实时数据流,这些数据流被导入各种文本文件中,服务器日志文件就是其中一个例子。谢谢!
目前,数据下载,数据流和数据上传服务有自己的API:
已经通过FME服务器REST API支持JobSubmitter服务,可以通过一组REST调用来调用:
https://docs.亚搏在线safe.com/fme/html/fme_rest/apidoc/v3/!/转换
如果所有3个服务(数据下载,数据流,可以通过fme server rest api调用dataupload和jobsubmitter),使开发人员更容易利用fme server的功能。这将允许更一致的应用程序开发,而不必担心一个产品的不同API。
在将数据流服务与FME服务器一起使用时,我知道需要运行引擎来生成将被流化的初始文件。一旦生成此文件,即一个geo json文件,当用户点击端点来检索geo json时,是否涉及引擎?或者数据是从Web服务器流出来的?
也,如果我们有多个引擎,并且流作业由多个用户同时运行,他们会试图重写同一个文件吗?流是否依赖于作业写入的文件,或者直接从服务器流?
大家好
我已经构建了一个生成Excel文件的工作台。最终的目标是让这个工作台可以通过网页访问,并允许用户以.xlsx(而不是zipped.xlsx)的形式下载结果。
我尝试过两种方法来实现这一目标:
有人对如何解决这个问题有什么想法吗?
嗨,大家好,
我有一个与2016年FME服务器的数据流服务一起发布的FME工作区。
工作区为输出创建一个HTML文件。
当我运行工作区时,浏览器允许我下载(或运行)文件。
我希望文件的HTML内容替换FME服务器页面(或在新选项卡中自动打开)。
在没有用户交互的情况下打开HTML文件需要更改什么?
谢谢你的帮助,
埃里克简
怎么做?
大家好
我已经创建了一个WMS服务,它将geojson作为getFeatureInfo操作的响应进行流式处理。首先,我使用连接到文本文件编写器的JSontemplater创建JSON。当我测试工作区时,结果直接显示在Web浏览器中。问题是我在返回的JSON中有一些格式问题,需要处理。
我意识到,如果我切换到一个geojson编写器,格式将为我处理。这很好,但当我通过Web浏览器进行测试时,我会得到一个文件下载,而不是直接在浏览器中显示返回的数据。
我认为这是由请求响应中的内容处置头引起的。
这是使用文本文件编写器时的响应:
这是使用geojson编写器时的响应:
当从geojson编写器流式处理时,是否有任何方法可以删除内容处置头?
更新:
我已经使用JSontemplater创建了一个与geoJSon相同结构的返回JSON(请参见附加的工作区-禁用部分是解决方法)。虽然这很管用,只写给geojson并避免所有格式设置要简单得多。
@Rylanat亚搏在线safe-这是您要求的信息
浏览器:Google Chrome 54.0.2840.71米
FME桌面2016.1.0.0(20160419-内部版本16492-win32)
FME服务器2016.1.0.1-内部版本16494-Linux-X64
工作区已附加
现在,我们要做的就是当用户单击或悬停在地图上的某个位置上时,返回自定义Web应用程序中的属性值,但可能希望显示以在将来使用几何图形。
我一直在用这个例子:
https://knowledge.亚搏在线safe.com/articles/1117/data-distribution-with-web-maps.html网站
用我们自己的数据建立我自己的真实感。有人问我,一旦为某个数据集勾选了按钮,它是否可以将数据流式传输到Web地图,这样用户就可以在请求数据之前看到数据。
即。在上面的例子中,一旦你画了多边形,你点击总线路径,多边形内的总线路径就会在屏幕上绘制出来,这样用户就可以看到他们将要下载的内容。
能做到吗?
geojson格式提供了一种将位置数据作为开放式json(javascript对象表示法)的一部分进行通信的方法。规范.FME服务器中的数据流服务允许用户轻松地将这些数据合并到Web服务中。
下面的示例演示了如何使用FME工作台生成一系列的geojson,一旦发布到FME服务器,就可以使用它生成一个直接的URL,将数据链接到外部Web服务。本教程的第二部分显示了相反的情况——如何查看Web服务的“幕后”以查找此数据请求中使用的基本语法。
打开FME工作台并选择生成工作区。读取您希望提供的数据,并将编写器数据集设置为geojson格式。如果您没有自己的数据,可以使用本文中提供的示例-此工作区使用SDF数据源,详细介绍奥斯汀的公交路线和公交车站,德克萨斯州。
使用sdf reader和geojson writer生成工作区
注意:请注意,可能需要根据客户端应用程序重新投影数据。在我们的示例中,数据被重新投影到epsg:4326中,以便在Openlayers中使用。
如果数据集由多个图层(要素类型)组成,则可以设置一个已发布参数,用户可以在其中请求流化一个或多个图层。出于测试目的,您可以通过进入导航器窗口中的读卡器参数并设置要读取的功能类型。
在FME工作台中读取参数的读卡器特征类型的位置
转到“文件”,然后选择“发布到FME服务器”。在“发布工作区”窗口中,创建新的存储库以保存工作区,并确保选中“上载数据文件”框。
向数据流服务注册工作区,选择这里的编辑按钮来探索不同的选项,并确保geojson文件已被选为要传输的写入程序。
编辑数据流属性
转到FME服务器Web界面,在主页上找到并选择新发布的工作区上次发布的工作区。运行工作区,geojson将直接返回到浏览器。
FME服务器将返回响应头中的geojson mime类型以及内容类型;在这种情况下,application/json。
返回“运行工作区”页并公开“高级”部分。本节包括一个直接的URL示例,可以直接在Web服务中使用它来请求geojson。如果将功能类型的值更改为“读取参数”并刷新“高级”面板,则在请求中定义此参数的语法将发生更改。
将功能类型设置为读取参数,然后从运行工作区窗口的高级部分获取直接URL
上面获得的直接URL(步骤4)可以提供给任何使用geojson的客户机应用程序。当调用URL时,FME服务器将动态返回geojson中的数据。使用Openlayers网页创建了一个这样的示例,可以找到在这里.此网页的基础源代码是用JavaScript编写的。要使用FME服务器直接URL查看数据请求的语法,请右键单击浏览器并选择查看页面源.
查看用于将数据流传输到Openlayers Web服务的FME服务器直接URL
如果您正在考虑使用FME服务器创建数据流服务,您也可能感兴趣:使用FME服务器传输XML.
本文中使用的数据源于奥斯汀市,德克萨斯州。它包含根据公共领域奉献许可证(奥斯汀市)授权的数据。