利用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

相关文章

C++的模板(八):子系统

平常所见的大部分模板代码,模板所传的参数类型,到了模板里面,或实例化为对象,或嵌入模板内部结构中,或在模板内又派生了子类。不管怎样,最终他们在模板内,直接或间接,都实例化成对象了。 但这不是唯一的用法。试想一下。如果在模板内限制调用参数类型的构造函数会发生什么?参数类的对象在模板内无法构造。他们只能从模板的成员函数传入。模板不保存这些对象或者只保存他们的指针。因为构造函数被分离,这些指针在模板外

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

记录AS混淆代码模板

开启混淆得先在build.gradle文件中把 minifyEnabled false改成true,以及shrinkResources true//去除无用的resource文件 这些是写在proguard-rules.pro文件内的 指定代码的压缩级别 -optimizationpasses 5 包明不混合大小写 -dontusemixedcaseclassnames 不去忽略非公共

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

SQL Server中,always on服务器的相关操作

在SQL Server中,建立了always on服务,可用于数据库的同步备份,当数据库出现问题后,always on服务会自动切换主从服务器。 例如192.168.1.10为主服务器,12为从服务器,当主服务器出现问题后,always on自动将主服务器切换为12,保证数据库正常访问。 对于always on服务器有如下操作: 1、切换主从服务器:假如需要手动切换主从服务器时(如果两个服务

SQL Server中,isnull()函数以及null的用法

SQL Serve中的isnull()函数:          isnull(value1,value2)         1、value1与value2的数据类型必须一致。         2、如果value1的值不为null,结果返回value1。         3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。        如

SQL Server中,添加数据库到AlwaysOn高可用性组条件

1、将数据添加到AlwaysOn高可用性组,需要满足以下条件: 2、更多具体AlwaysOn设置,参考:https://msdn.microsoft.com/zh-cn/library/windows/apps/ff878487(v=sql.120).aspx 注:上述资源来自MSDN。

SQL Server中,用Restore DataBase把数据库还原到指定的路径

restore database 数据库名 from disk='备份文件路径' with move '数据库文件名' to '数据库文件放置路径', move '日志文件名' to '日志文件存放置路径' Go 如: restore database EaseWe from disk='H:\EaseWe.bak' with move 'Ease

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。