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

相关文章

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc