span8
span4
以前数据上传第1部分:从URL读取数据|家庭:教程:数据上传与FME服务器
在本教程中节中,我们将看看工作流利用FME REST API的服务器动态地构建一个web应用程序,它将建立亚搏在线一个形式根据发布的参数在一个工作区,利用数据上传服务提供数据集到工作区,提交工作,并处理结果。
注:本练习是数据上传第1部分:来自FME服务器Web界面的选项,请确保在开始此练习之前已先完成此练习。
我们将使用来自FME Server Developer游乐场的一个示例作为本练习的起点。
示例输出中显示的工作空间参数并没有硬编码到页面的HTML中,而是动态生成的。这是通过调用来自FME Server Javascript库的generateFormItems来完成的,该库利用FME Server REST API来发送查询,以获得与特定工作区的所有已发布参数的列表。
一打开演示并上载文件
打开在会话中上载文件示例向下滚动到输出部分。对于源文件,单击“选择文件”按钮,选择要上载的文件,然后单击“上载文件”。此上传选项使用数据上传服务将文件发送到FME服务器。然后,该服务返回关于文件在服务器上临时保存的位置的信息。然后,可以使用此路径信息在希望运行的工作区中设置源数据集路径。
在FME服务器操场上上载会话中的文件示例
二运行工作区
单击Output部分底部带有Data按钮的运行工作区,以使用上传的文件作为源运行工作区。此按钮连接到web应用程序代码中定义的名为runWorkspace的函数。这个函数接受列出的每个参数的值(包括上传数据集的路径),并使用数据下载服务将它们提交到FME服务器上的工作空间。然后捕获作业完成时从FME服务器返回的响应,并在web页面底部显示结果。
现在,我们将这个演示配置为在我们自己的FME服务器实例上运行,并使用本教程前面的练习中使用的工作区。
要使用FME服务器web服务,必须对发出请求的客户机进行授权。到目前为止,您已经使用登录到web用户界面的相同web浏览器访问了web服务。因此,web服务的授权已经建立。但是,我们构建的web服务不需要用户进行显式的登录(如果需要,可以这样做)。因此,您需要一个令牌来授权web服务调用。
一创建新的FME用户
打开FME服务器Web用户界面并导航到Security>Users。创建一个用户名为Data Loading、全名为dataloading的新服务帐户并设置密码:fordemoonly。忽略权限,现在,我们将在下一个角色中分配这些权限。单击“确定”创建用户。
在FME服务器中创建名为dataloading的新用户
二创建具有权限的新角色
在“安全性”中,单击“角色”选项卡。创建一个名为dataloading的新角色并将dataloading分配给关联的用户,这就是我们刚刚创建的用户。
创建名为dataloading的新角色并将dataloading添加为关联用户
在“权限”下设置以下内容:
扩展存储库:
设置存储库的权限
连接-访问
扩展服务:
设置服务的权限
单击“确定”创建角色。
三。设置CORS
在左侧菜单栏上,单击CORS。在CORS页面上,单击Load Template并选择Allow Specific Hosts。删除现有主机并添加运行网页的主机,单击“保存更改”。
设置CORS以指向FME服务器主机
四创建令牌
在FME服务器的右上角,单击用户名打开下拉菜单,然后单击管理令牌。复制令牌以供暂时使用。
五在会话中下载上载文件
回到Upload File in Session example页面,单击Download Source按钮下载源代码。将下载的文件重命名为fileupload.html。
六将文件复制到web可访问的位置
将文件移动到web可访问的位置。它可以由像IIS或Apache这样的web服务器托管。另外,您可以使用类似Amazon S3的服务来托管页面。
注意:如果您在本地使用FME服务器,则可以从其web服务器根目录托管该网页。将HTML文件复制到
7。使用服务器参数修改文件
修改代码以指向您自己的FME服务器实例。在HTML文件的javascript中查找对FMEServer.init的调用。将服务器参数更改为FME服务器主机位置的URL,并将令牌设置为刚才复制的令牌
在文本编辑器中修改FME Server.init行以指向FME服务器和web令牌
八修改文件以指向CheckFieldStatus.fmw
在fileupload.html文件的代码中,找到以下标记:
将样本更改为数据上载
另请查找:
将easytranslator.fmw更改为CheckFieldStatus.fmw,保存文件。
在文本编辑器中修改存储库和工作区名称行
要在网页上运行新的工作区,如果您已经打开了它,请刷新它以查看我们的更改。确保存储库设置为“数据上载”,工作区设置为CheckFieldStatus.fmw。使用“选择文件”按钮上载weekendplayfieldstatus.csv文件,然后单击“上载”。然后在文件上传完成后,单击RunWorkspace With Data。
在这个例子中,我们在工作区运行之后所做的就是捕获从FME服务器返回的响应对象并将其显示在页面上。我们可以很容易地添加一些额外的javascript代码来解析来自服务器的JSON,并创建一个样式化的结果页面。
©2019安全亚搏在线软件公司法律