利用FME Server API发布模板文件

2023-11-10 13:59
文章标签 模板 api 发布 server fme

本文主要是介绍利用FME Server API发布模板文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家在使用FME产品时,了解最多的可能是FME Desktop,我们可以在FME Desktop中利用FME workbench组件进行FME的流程设计,形成我们自己的模板。在模板形成后可以在workbench中运行。这些都依赖于我们的FME Desktop。

当然,我们也可以不再FME Desktop中运行我们的模板,那么就需要用到FME Server,我们可以利用FME Desktop发布模板服务到FME Server,然后在FME Server中运行。但是,当你发布模板服务的时候,可能会出现FME Server服务连接不了,一直卡在“发布服务”的第一步,如下图中可能半天都没反应,别着急,下面为大家介绍一下如何利用python脚本来发布我们的模板到FME Server中。

FME ServerB/S的架构,使得最终用户不需要安装FME客户端就可以通过浏览器运行FME Server中的模板进行工作,当然,前提是你得有模板,并且你得把模板发布到FME Server上。那么如何在没有安装FME Desktop的情况下,你又恰好有一个模板,需要发布到FME Server上?


你需要确定计算机环境中是否正确安装了FME Server软件、Python环境。(本文采用的FME Server版本为19643,Python为2.7)

 

 

在FME Server中提供了API接口,登陆FME Server后在找到REST API,点击进入主页,在选项卡中选择”API”,FME Server中提供了很多接口,其中就包含发布模板服务的接口。

 

 

在FME Server中提供的API中,发布模板到FME Server需要调用两个API:

一个是模板文件上传服务

http://localhost:8080/fmerest/v3/repositories/<serverpath>/items

一个是为模板添加services的服务

http://localhost:8080/fmerest/v3/repositories/<serverpath>/items/<workspacename>/services

 

首先在FME Server中一个存储模板文件的目录,点击FME Server界面左侧导航栏中的“Repositories”选项卡,再点击“New”,新建一个“文件夹”用来存储模板文件。(本次新建为“AAAAA”)。

新建“AAAAA”后,点击进入发现里面没有任何模板文件。

利用python环境编写脚本语言,调用FME Server中的模板上传服务http://localhost:8080/fmerest/v3/repositories/<serverpath>/items,如下图:

“AAAAA”为第四步中新建的“文件夹”

“none2textline.fmw”为模板文件上传到FME Server中的存储名称,

“6693a715559c79218e16cfe6b2a50f153760589d”为FME Server中生成的token令牌,

“G:\\none2textline.fmw”为需要上传FME Server的模板存放在本地的完整路径。

设置好脚本并运行后返回“<Response [201]>”,查看接口中对应的代码显示模板文件上传成功,

返回FME Server中,进入“AAAAA”文件夹下查看,此时在该目录下已存在代码中上传的模板。

点击“AAAAA”文件夹下上传的模板文件,跳转到模板运行界面,发现第三个下拉框“Service”无法选择,那是因为还没有为该模板指定服务类型。

 

利用python脚本,调用“为模板添加services”的API,为指定的模板添加服务类型,在FME DESKTOP中,发布模板到FME Server,可以设置常用的服务类型包:

数据下载:"Data Download"

数据流:"Data Streaming"

任务提交:"Job Submiter"

KML网络链路:"KML Network Link"

通知:"Notification Service"。

本文中我们尝试添加"Data Download","Data Streaming","Job Submiter"这三个常用的服务类型,具体如下。

“AAAAA”为第五步中模板上传时存储的“文件夹”

“none2textline.fmw”为模板文件上传到FME Server中的存储名称

“6693a715559c79218e16cfe6b2a50f153760589d”为FME Server中生成的token令牌

"fmedatadownload","fmejobsubmitter","fmedatastreaming"为“AAAAA/none2textline.fmw”模板添加的服务类型。

设置好脚本并运行后返回“Response [200]>” ,查看接口中对应的代码显示模板文件上传成功,

再次返回模板运行界面,重新选择目标模板文件,进入运行界面,此时第三个下拉框“Service”可供选择的服务类型有三种,分别是:

数据下载:"Data Download"

数据流:"Data Streaming"

任务提交:"Job Submiter"

与脚本中预设服务类型一致。

选择对应的服务类型,点击“RUN”按钮,查看模板是否发布正确。

注意:本次测试使用的FME工程文件较为简单,如果涉及模板文件复杂,并且涉及配置文件等数据的上传,可能存在数据丢失,建议采用常规手段(FME Desktop)来进行模板的发布。

这篇关于利用FME Server API发布模板文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/383091

相关文章

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

最大流、 最小费用最大流终极版模板

最大流  const int inf = 1000000000 ;const int maxn = 20000 , maxm = 500000 ;struct Edge{int v , f ,next ;Edge(){}Edge(int _v , int _f , int _next):v(_v) ,f(_f),next(_next){}};int sourse , mee