斯潘8
斯潘4
本文将向您展示如何使用FME服务器来驱动RESTAPI的操作。在这里,我们将研究将FME服务器与API网关集成的常见场景,并通过一个更具体的例子。
Web服务允许您使用HTTP标准的简单性与Web网络上的服务器或其他节点进行交互。休息概念本身不是标准,而是一套促进简单化的指导方针,易于使用的Web API。
指南包括使用:
大多数RESTAPI将接受和响应JSON或XML格式数据的特定变体。在过去的几年里,我们已经看到了从XML向JSON的转变,因为它在Web应用程序中更容易被支持。基于FME服务器构建的Web服务可以支持XML或JSON,但我们将在本教程中使用JSON。
将应用程序和系统设计为一组服务越来越普遍,而不是一个整体。根据实施规模,您可能会听到诸如面向服务的体系结构(SOA)或微服务体系结构之类的术语。尽管有许多细节有待讨论,核心思想是系统各组成部分之间应该有明确的界限,他们应该使用定义良好的协议进行通信。这就产生了一系列执行较小任务的服务,而不是满足所有需求的单一应用程序。所有这些服务都可以使用不同的技术来实现,可能由不同的团队管理。
然而,通常仍然需要提供一个统一接口(API),它从不同的服务合成数据和操作。这是用一个API网关-本质上是另一个提供统一接口的服务,并在后台与所有不同的服务进行通信。
借鉴这个概念,我们将使用FME服务器提供基于工作区的服务。然后我们将使用AWS API网关构建一个REST API,并将其链接到FME服务器Web服务。在这个系统的未来迭代中,其他工作区,FME服务器实例,甚至是由完全不同的产品提供的Web服务,亚搏在线娱乐平台可以添加其他功能。
在本教程中,我们选择使用AWS API网关,因为我们已经将AWS用于FME云和其他解决方案。然而,还有其他几种选择,基于云和自托管(内部部署)。
如果要使用其他云服务提供商,您可以研究解决方案,例如近端边缘或3标度.如果您正在寻找内部解决方案,您可以考虑以下产品:亚搏在线娱乐平台nginx api网关或孔.(这绝不是一份详尽的清单)。
在本教程中,一个城市正在开始推出一个公共和内部使用的API。公园委员会是第一个建立网络服务的部门,但其他部门很快也会这样做。公园委员会决定使用FME服务器来实现服务,但对于API的用户来说,这实际上是不可见的。其他部门可选择使用FME服务器。提供GIS Web服务的其他软件,或者简单地托管一些静态文件,如果它们的数据相当简单并且不经常更新。这一切都将整齐地集成到同一个API中。
用户需要能够使用Parks服务执行以下操作:
操作应该适当地限制在特定的用户。查询服务可供公众使用,但只允许内部用户修改数据。
操作应该可以通过一个RESTful Web服务来访问,未来可以扩大到包括其他市政部门的服务。
资源上的每个必需操作都需要映射到API中URL端点上的HTTP操作:
行动 | 端点 |
取回所有公园 | 获取/公园 |
查询公园数据集 | 获得/公园?密钥=值 |
检索特定的停车场 | 获得/公园/
|
增加一个新公园 | 邮政/公园 |
更新公园 | 放置/停车/
|
删除公园 | 删除/公园/
|
我们将使用FME服务器构建Parks Web服务,因为FME使正确格式化来自Parks Board内部数据库的数据变得容易。然而,基于作业的FME服务器工作流亚搏在线不适合构建RESTAPI。相反,我们将使用一个专门的API网关。明确地,我们将使用适当命名的Amazon AWS API网关。
因为我们是通过网络分发地理信息系统数据的,请求和响应类型的自然选择是geojson。
首先实现一个简单的端到端示例,以证明您的系统通信正常,这是一个很好的实践。在这种情况下,我们将执行/parks查询,它只涉及从mapinfo选项卡到geojson的转换。这需要配置数据流,安全性,以及API网关。
对于第一个API调用,工作区非常简单。我们将使用fme示例数据包中的parks.tab文件。为了您的方便,有可用的工作区模板。
将工作区另存为getallparksgeojson.fmw
下一步,我们将工作区发布到FME服务器。在本教程中,我们将发布到一个FME云实例,因为它可以很容易地从AWS API网关访问。
现在,让我们创建一个API用户。请注意,此用户应该具有调用API所需的所有特权。外部授权与内部用户是在网关级别完成的。
设置API用户的步骤:
现在,让我们为用户生成一个令牌:
我们需要获取URL以通过数据流服务运行工作区:
登录您的AWS管理控制台,然后去网络和内容交付> API网关.现在,我们将创建一个新的API,并添加一个方法。
选择得到作为行动。
既然我们已经用一个资源和一个方法创建了一个API,我们可以部署并试用它。
请注意,以后创建的方法也可以使用在stage变量中指定的标记,所以如果令牌改变,你就可以在舞台上表演了。如果您有单独的开发和生产FME服务器,那么可以对服务器URL执行类似的操作。
使用这个例子,我们可以使用FME服务器工作区来实现进一步的API调用。要与之合作的一些想法:
?2019安全亚搏在线软件公司|合法的