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

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录