题目中的问题:“websockets” https://knowledge.亚搏在线safe.com/questions/topics/single/642.html “websockets”主题的最新问题 使用纯Javascript连接到FME Web套接字订阅服务器 https://knowledge.亚搏在线safe.com/questions/76954/connect-to-fme-web-socket-subscriber-with-pure-jav.html

我正在尝试使用标准的JavaScriptWebSocket来订阅FMEServerWebSockets端点。

我只是在做:

this.socketconnection=新的websocket(websocketurl);

^代码连接到FME服务器上的web套接字,但从未接收或发送消息。我是不是应该包括一个协议?

有人知道为什么信息不能通过或不被发送吗?

清华大学,2018年8月23日14:25:43 GMT 马蒂兰
有关Web套接字订阅的帮助 https://knowledge.亚搏在线safe.com/questions/76285/help-with-web-socket-subscription.html

我跟着https://docs.safe.com/fm亚搏在线e/html/FME_Server_Documentation/Content/AdminGuide/configuring_for_https.htm EnableSSLWebSocketServer

为HTTPS,服务URL已更改等。

当尝试在通知下创建WebSocket订阅时,当我单击“验证”时,会收到“与REST API通信时出现问题”的错误。

FME似乎运行得很好,我可以查询REST API ok。

有什么想法吗?

妈,2018年8月13日21:11:29格林尼治时间 rclarknxf
WebSocketSender:无法与远程主机执行握手 https://knowledge.亚搏在线safe.com/questions/65771/websocketsender-failed-to-perform-handshake-with-r.html

我尝试运行本文中的示例:https://knowledge.safe.com/articles/1112/live-亚搏在线spatial-dashboard.html,了解2017年FME服务器的默认安装。我得到以下错误:

WebSocketSender:正在尝试连接到端口“7078”上的主机“192.168.99.100”
WebSocketSender:成功连接到端口“7078”上的主机“192.168.99.100”
WebSocketSender:与远程主机执行握手
WebSocketSender:无法与远程主机执行握手
WebSocketSender(JavaFactory):发生了一个致命错误。查看上面的日志文件了解详细信息
发生了致命错误。查看上面的日志文件了解详细信息
2018-03-12 13:00:56| 0.9| 0.0|错误|

192.168.99.100是FME服务器的ip地址。有人知道如何连接到FME服务器上的WebSockets吗?

谢谢你的帮助。

FMESER 连接 妈,2018年3月12日15:12:26格林尼治标准时间 米高卢
如何在FME云上使用WebSocket服务器? https://knowledge.亚搏在线safe.com/questions/58701/how-can-i-use-the-websocket-server-on-fme-cloud.html

FMESER fMcEng音 websocketreceiver websocketsender 妈,2017年11月27日23:15:22格林尼治标准时间 fmelizard
向TCP转换器添加握手 https://knowledge.亚搏在线safe.com/idea/58528/add-handshake-to-tcp-transformers.html

向TCP转换器添加握手,以允许对主机进行认证登录

变压器 变压器 变换 TCPIP接收器 星期五,2017年11月24日01:59:14格林尼治标准时间 darkspatiallord
FME服务器(云)WebSockets,WebSocketSender:无法与远程主机执行握手 https://knowledge.亚搏在线safe.com/questions/54377/websockets-for-fme-server-cloud-websocketsender-fa.html

嘿,伙计们,

https://fmeserver-eval-亚搏在线safe-software.fmecloud.com

当试图将套接字发送到FME Cloud eval时,端口7078上的本地主机将持续失败,这是有意义的,因为我用的是云端试用版不管怎样,有人知道通过FME云连接插座的方法吗?

谢谢,

道格

FMESER websocketsender 评估版本 星期五,格林尼治时间2017年9月29日20:14:10 DFRESH公司
流功能从PostGIS到亚马逊SQS -处理在FME上的jlutherthomas的kbentry https://knowledge.亚搏在线safe.com/articles/44339/streaming-features-from-postgis-to-amazon-sqs-proc.html

使用Amazon SQS,或者任何队列服务都是存储不能或不需要立即处理的数据的好方法。它还提供了一些保证,即只有在处理完某个特性之后,它才会从队列中删除。FME中SQS的一个很好的概述是可用的在这里.

与前面讨论的两种方法不同(http-post-to-a-topic和websockets)。使用AmazonSQS不需要长期的工作流程或大量的通知(尽管它可以两者兼备!).

FME使得与SQS的交互变得简单,要么通过通知服务(创建SQS发布/订阅),要么使用可用的SQS转换器。在本练习中,将使用sqsreceiver转换器接收来自sqs队列的消息。该转换器允许您指定变压器何时停止接收特性,:永远不要当队列为空或在固定数量的消息之后。这使得运行作业和引擎使用更加灵活。

每次在postgis中的表中更改一个特征(行)时,node.js接收有关该功能的信息。在javascript文件中,当Node.js从PostGIS接收特性时,它使用aws-sdk模块将特性推入Amazon SQS队列。

var pg=require('pg');var request=require('request');var pgnostring=“postgres://username:password@server:port/database”;var aws=require('aws-sdk');aws.config.update(accesskeyid:'accesskey',secretaccesskey:'secretaccesskey');var sqs=new aws.sqs(region:'region');console.log("Sending messages to SQS");pg.connect(pgConString,函数(Err)客户端){if(err) {console.log(err);}client.on(“通知”,函数(msg)//console.log(msg);//console.log(json.parse(msg.payload));db_body=json.parse(msg.payload);var sqsmsg=payload:'a message'var sqsparams=message body:json.stringify(db_body),QueueUrl:‘QueueUrl’}; sqs.sendMessage (sqsParams,函数(Err)data) {if (err) {console.log(' err ',错);}console.log(数据);});(});var query=client.query(“listen watchers2”););

完整的工作空间在这里:SQS-接收器-完成.fmw

试一试:

有关需求的更多信息,请参见教程的起始页。

修改postgis2sq .js文件,以匹配您的数据库和AWS SQS连接需求。

在命令提示窗口中,导航到节点可执行文件所在的文件夹。在命令窗口中,键入:node Postgis2sqs.js后

如果什么都没有发生,这很好。代码中的任何错误都将在此处报告。

FME工作台,添加一个SQSReceiver转换器并填写Amazon SQS连接细节。将停止接收参数设置为“队列为空时”。

现在是时候去编辑了,从PostGIS表中创建或删除一些特性。这可以使用FME(在单独的工作空间中)或使用GIS。

创建了一些功能之后,删除或更改后,您应该能够在AWS SQS管理控制台中看到这些更改:

一旦队列中有了特性,就可以运行工作区。你应该会发现从SQS接收到相同数量的特性,并输出到日志消息:

由于sqs_content属性是JSON,JSonFlatener将有助于将每个键转换为一个属性。然后可以使用AttributeManager创建一条消息,该消息可用于通知某人特性的更改。

FMESER 通知服务 实时 postgis 话题 亚马逊网络服务 REST API FMEU2017 改变 http post 诺迪斯 littlebits SQS接收器 太阳,2017年5月14日07:05:04格林尼治标准时间 jlutherthomas
使用jlutherthomas的kbentry上的WebSockets实现从PostGIS到FME的流媒体功能 https://knowledge.亚搏在线safe.com/articles/44338/streaming-features-from-postgis-to-fme-using-webso.html

有关FME服务器作为WebSocket服务器的信息,见WebSocket文档.

每次在postgis中的表中更改一个特征(行)时,node.js接收有关该功能的信息。在javascript文件中,当Node.js从PostGIS接收特性时,它使用ws模块将特性流到FME服务器。

const websocket=require('ws');var pg=require('pg');var request=require('request');var pgconstring=“postgres://username:password@server:port/database”;const ws=new websocket('ws://fmeserver:7078/websocket/',headers:“ws_op”:“打开”,“ws-stream-id”:“postgres”)console.log(“预打开就绪状态”+ws.ready state);ws.on(“打开”,function()ws.send('“ws_op”:“打开”,“ws-stream-id”:“Postgres”,“ws_msg”:“open”'););pg.connect(pgconstring,函数(Err)客户端){if(err) {console.log(err);} else {console.log('HELLO');client.on(“通知”,函数(msg)console.log(“msg is”msg.有效载荷);//db_body=json.parse(msg.payload);msgtype=typeof msg.payload;sendmsg2 = ('{"ws_op": "send",“ws-stream-id”:“Postgres”,“ws_msg”: ' + msg.payload + '} ');ws.send (sendmsg2);});var query=client.query(“listen watchers2”););

如果正在编辑大量数据,这将非常有用。不是每次都向主题发送通知并为每个特性触发工作区,WebSockets允许使用一个工作区来处理出现的功能。

可以将WebSockets设置为FME服务器中的发布,并将每个消息发布到一个主题。

也可以使用WebSocketReceiver转换器接收WebSockets。必须指定相同的参数:WebSocket服务器URL和流ID。

完整的工作空间在这里:websocket-receiver-complete.fmw

试一试:

有关需求的更多信息,请参见教程的起始页。

修改postgis2ws.js文件以匹配数据库和FME服务器连接要求。

在命令提示窗口中,导航到节点可执行文件所在的文件夹。在命令窗口中,键入:node postgis2ws.js

如果什么都没有发生,这很好。代码中的任何错误都将在此处报告。

在FME工作台中添加一个创建器,一个WebSocketReceiver和一个Logger。WebSocketReceiver连接序言需要设置为连接到postgis2ws.js文件中的流,在本例中,WebSocket流是'postgres'。

“ws_op”:“打开”,“ws_stream_ids”(“postgres”):}

一旦工作区完成,运行它。只有一个功能可以从创建者移动到WebSocketReceiver。

您可能在转换日志中注意到WebSocketReceiver正在等待传入的WebSocket消息。此工作区将继续运行,直到取消为止,并将一直等待消息。

WebSocketReceiver:尝试连接到端口“7078”上的主机“localhost”上:成功连接到端口“7078”上的主机“localhost”上:执行与远程主机的握手

现在是时候去编辑了,从PostGIS表中创建或删除一些特性。这可以使用FME(在单独的工作空间中)或使用GIS。

此工作区可以发布到FME服务器,并作为计划运行或设置。工作区将在作业运行的整个过程中使用一个引擎。这可能比跑得快要便宜,如果有很多功能作为主题信息出现,则会不断减少工作,为每个功能创建一个作业。

当运行作业或调度时,FME服务器现在具有高级属性:

这将允许作业继续,直到取消或取消,直到设置的到期时间。这将允许WebSocketReceiver工作区在工作时间或数据库表上有活动时运行。

由于_output属性是JSON,JSonFlatener将有助于将每个键转换为一个属性。然后可以使用AttributeManager创建一条消息,该消息可用于通知某人特性的更改。

结果:

随着功能的创建,在PostGIS功能中删除或更改后,应该开始在工作区中进行流媒体处理。由于日志转换器的存在,发送的消息将显示在翻译日志窗口中。

可以很容易地扩展此工作区,以开始对新特性执行验证过程或通知相关方。

FMESER 通知服务 实时 postgis 话题 亚马逊网络服务 REST API FMEU2017 websocketreceiver 改变 http post 诺迪斯 littlebits SQS接收器 太阳,格林尼治时间2017年5月14日06:32:18 jlutherthomas
HTTP POST请求从jlutherthomas的kbentry上的Node.js发送到FME服务器 https://knowledge.亚搏在线safe.com/articles/44337/http-post-requests-to-fme-server-from-nodejs.html

每次在postgis中的表中更改一个特征(行)时,node.js接收有关该功能的信息。在javascript文件中,当node.js从postgis接收到一个特性时,它使用请求模块向fme服务器发出一个get请求,请求令牌。带着返回的令牌,node.js能够向fme服务器发出post请求,发布关于被创建对象的信息,删除或修改主题的功能。

var pgConString = "postgres://username:password@server:port/database";函数(Err)客户端){if(err) {console.log(err);}client.on(“通知”,函数(msg)db_body=json.parse(msg.payload);request.get (' http://FMEserver/fmetoken/generate?user=username&password=password&update=false ',json:真,函数(错误,的反应,body)console.log(response.body);令牌= response.body;topicurl='http://fmeserver/fmesrest/v3/notifications/topics/sample_topic/message?fmetoken='+token console.log(“主题URL正文为”+topicURL);请求后(topicurl,{Boo:dByBoobe,JSON:真的,函数(错误,的反应,body)if(response.statuscode==201)else console.log(db_body);console.log('状态代码:'+response.status code);});(});(});var query=client.query(“listen watchers2”);//PostGIS通道);

试一试:

有关需求的更多信息,请参见教程的起始页。

在FME服务器中,创建一个主题,该主题可以接收关于数据库表更改的通知。
修改postgis2topic.js文件以符合数据库要求。

在命令提示窗口中,导航到节点可执行文件所在的文件夹。在命令窗口中,键入:node postgis2topic.js网站

如果什么都没有发生,这很好。代码中的任何错误都将在此处报告。

在FME服务器中,导航到主题监视选项卡并开始监视主题。
现在,您需要编辑被监视表中的数据。您可以使用FME或地理信息系统包来实现这一点。当数据被保存或写入数据库时,您应该会看到主题消息出现在FME服务器Web UI中。

结果:

一旦在Postgis中编辑了某个功能,您就会看到主题消息出现。
您可以观看视频演示在这里.

FMESER 通知服务 实时 postgis 话题 亚马逊网络服务 REST API FMEU2017 改变 http post 诺迪斯 littlebits SQS接收器 话题 主题信息 太阳,2017年5月14日05:12:09格林尼治标准时间 jlutherthomas
在实时(node.js)教程中发布地理信息系统到FME服务器 https://knowledge.亚搏在线safe.com/articles/44336/postgis-to-fme-server-in-real-time-nodejs-tutorial.html

概述:

接下来的几个例子使用postgis和node.js通过各种方法将通知实时传递到FME服务器。使用的方法将取决于各个业务需求和需要处理的数据量。

这背后的体系结构有一个PostGIS数据库,在一个被“监视”的特定表上有一个触发器和函数。当创建一行时,删除或修改此函数将调用一个函数。该函数提取数据中的任何所需列,并构建一个JSON消息发送到一个开放通道。NodeJS正在监视通道,可以在通道到达时处理它。

以下博客文章记录了这种方法:

Postgres使用Node.js监听/通知

Postgres的发布-订阅特性在JSON中表现得更好

在下面的练习中,js使用多种方法与FME通信:

  1. 对FME服务器的HTTP POST请求:本练习将每次更改带入数据库表,并向FME服务器中的主题发送通知。如果工作区订阅了该主题,它将能够读取主题消息并处理该特性。
  2. 使用WebSockets从PostGIS到FME的流媒体特性:本练习演示node.js如何打开websocket通道,使用FME服务器作为WebSocket服务器。如果在FME服务器中使用WebSocket发布,则流式信息可以作为主题消息查看。本练习使用FME工作台中的WebSocketReceiver转换器来允许特性在到达时被处理。
  3. 从Postgis到Amazon SQS的流化特性——FME中的流程:本练习演示node.js如何向Amazon SQS(简单队列服务)发送消息。当数据库中的一行发生更改时,node.js将向队列添加有关此功能的信息。FME可以设置为Amazon SQS发布服务来处理这些信息,将特性发送到主题或使用FME工作台中的sqsreceiver。SQSReceiver在Amazon SQS发布上增加了额外的灵活性。

要求:

你需要做这些练习FME服务器,一个PostGIS数据库,PG管理,安Amazon SQS以及J.N.以及各种包装。

NPM软件包在不同的练习中会有所不同:

资源:

此.zip文件中使用的SQL和javascript。您需要替换任何凭据或连接信息。

资源,邮编

FMESER 通知服务 实时 postgis 话题 亚马逊网络服务 REST API FMEU2017 改变 http post 诺迪斯 littlebits SQS接收器 太阳,2017年5月14日04:45:33格林尼治标准时间 jlutherthomas
Jlutherthomas Kbentry道路工程变更 https://knowledge.亚搏在线safe.com/articles/44315/roadworks-change.html

概述:

本教程将介绍如何将变更逻辑合并到工作区中,以仅传播那些或新的或更新的特性,不缓存整个数据集。

这将通过创建一个sqlite数据库文件来完成,以存储工作区的名称和上次运行时间。最后一个运行时将用于与roadworks数据集上的时间戳进行比较,并发送新特性或更改特性的通知。

工作区:

roadworks.fmw

工作区运行记录器.fmw

新道路工程.fmw

试一试:

读取道路工程数据

下载roadworks.fmw,花点时间查看工作区。

工作区正在阅读温哥华所有计划的道路工程,生成JSON消息通知FME服务器。

为了确保工作区正确运行,您需要在FME服务器中创建一个名为roadworks的新主题。在FME服务器的Web UI中,导航到“通知>主题>新建”。
创建主题后,检查roadworks.fmw中的fmeservernotifier连接设置,并通知roadworks主题。

在FME Server Web UI中,开始监视道路工程主题。

运行工作区。

如果工作区运行正确,对于工作区中处理的每个道路工程功能,您应该看到一条主题消息。

确定最后运行时间

要记录工作区最后一次运行的时间,我们将创建一个工作区,在此工作区之后运行(如果成功的话),以记录工作区和运行时的名称。

在FME Server中创建一个名为“RoadworksSuccess”的新主题并开始监视它。将roadworks.fmw工作区发布到fme服务器。确保编辑作业提交者属性,把成功的道路工程作为成功的主题。

一旦发布工作区,打开一个新选项卡并导航到FME服务器Web UI以运行工作区。完成后,检查主题监视选项卡。

您应该会看到一条JSON消息出现,与成功运行的作业的详细信息。

记录工作区运行时间

接下来,我们需要创建一个可以解释JSON并存储工作区名称和运行时的工作区。将JSON复制粘贴到文本编辑器中,并将其保存为JSON文件。这将是下一个工作区的输入。

打开空白工作区,并读取刚刚保存的JSON文件。
然后添加一个sqlite非空间数据库编写器,只创建2个属性-workspacename和lastrun。

在读写器之间添加一个datetimeformatter和一个substringxtractor。

有关DateTimeFormatter属性,请参见以下内容:

有关SubstringExtractor属性,请参见下面:

将子字符串连接到workspacename属性,并从time开始连接到lastrun属性。

运行工作区并检查是否成功。

将SQLite非空间数据库上传到FME服务器

现在我们想把SQLite非空间数据库上传到FME服务器,这样工作区就可以访问它。导航到资源>数据。创建一个名为changedetection的新文件夹,并在其中上载sqlite非空间数据库。

选择上载的文件,然后单击“属性”。复制系统路径,因为我们将在工作区中使用它作为目标路径。

在工作区导航器中,将系统路径粘贴到目标数据集参数:

在JSON阅读器和DateFormatter之间添加一个记录器转换器。这可用于检查工作区作业日志中的正确作业信息。

将工作区发布到FME服务器

将此工作区发布到FME服务器。在这个例子中,发布的工作区称为WorkspaceRunRecorder.fmw。
不要用它上传任何数据文件。
使用通知服务注册工作区,订阅RoadworksSuccess主题并设置参数将主题消息获取到源JSON。

当工作区发布后,转到FME服务器运行道路工程。fmw。You should be able to check from the Completed Jobs that the WorkspaceRunRecorder.fmw ran after Roadworks.fmw.

使用最后的运行时过滤道路工程特性

现在我们需要在最后一次运行时从SQLite非空间数据库中读取,以确定是否有任何道路工程数据是新的。
为了比较工作区上次运行到道路工程数据更新时的情况,使用sqlite非空间数据库获取上次运行时间,使用date time计算器计算日期时间的差异。

下载先前上传到FME服务器的roadworks.fmw。
为了测试,在上传到FME服务器之前读取创建的sqlite数据库。将此连接到FeatureReader而不是Creator。

确保FeatureReader属性处理参数设置为“合并发起程序和结果”:

为了确定道路工程数据是否是新的,在现有的DateTimeCalculator和JSONTemplator之间添加一个DateTimeCalculator和Tester。
在DateTimeCalculator中设置参数来计算Datetimes之间的间隔,将起始Datetime作为LastRun属性,将结束Datetime作为_result_datetime属性。将结果类型设置为Seconds,并注意Result属性。

在测试人员,测试DateTimeCalculator的结果是否为阳性结果(> 0)。

运行工作区以进行测试。

如果成功,与工作区第一个版本中一样,使用到FME服务器位置的路径替换SQLite数据库。将工作区重新发布到FME服务器。

结果:

现在,工作区应该只通知FME服务器数据集中的新道路工程。您可以通过等待作业运行两次来测试它。而不是所有的道路工程出现在主题监控页面,只应出现少数或没有。

此流程可以作为订阅链接到另一个FME服务器工作区。工作区可用于生成电子邮件,检查地理围栏内的道路工程(如果使用georss feed)或生成道路工程的图像以通知某人。

通知服务 实时 话题 行程安排 REST API 订阅 FMEU2017 主题监测 改变 诺迪斯 littlebits 坐,2017年5月13日05:11:35格林尼治标准时间 jlutherthomas
发布到jlutherthomas的kbentry网站上的littleBits cloudBit https://knowledge.亚搏在线safe.com/articles/44313/posting-to-the-littlebits-cloudbit.html

littleBitsConnector转换器有一个允许用户“写入设备”的动作。它使用littleBits API向cloudBit发送JSON消息,打开电路中跟随cloudBit的输出位。

在变压器内部,您可以选择发送输出百分比和持续时间,它将控制连接位上的事件。

这个百分比将控制LED的亮度,电机旋转或扬声器音量。

持续时间以毫秒(ms)为单位,并控制事件持续的时间。

试一试:

打开一个空白工作区,并将littleBitsConnector转换器下载到画布上。在littleBitsConnector之前连接一个Creator转换器——这将发送一个特性,以便在运行工作区时启动该过程。

打开littleBitsConnector参数并选择操作“writeToDevice”。此操作所需的参数为:LittleBitsAccessToken,的DeviceID,输出百分比和输出持续时间。

当工作区运行时,输入转换器的每个特性都会在littleBits上触发一个事件。您可能希望增加“输出持续时间”,以提供更大的机会看到或听到事件。

在littleBits上测试不同的输出位,看看会发生什么。

结果:

当工作区运行时,您应该在输出小数位上看到一个事件。这将取决于cloudBit之后的位。这可以是LED照明,声音播放,一个马达移动,等。

FMESER 通知服务 实时 httpcaller 话题 应用程序编程接口 REST API 订阅 FMEU2017 改变 诺迪斯 littlebits 坐,格林尼治时间2017年5月13日03:43:43 jlutherthomas
将LittleBits工作区发布为jlutherthomas的kbentry上的FME服务器工作区订阅 https://knowledge.亚搏在线safe.com/articles/44207/publish-a-littlebits-workspace-as-an-fme-server-wo.html网站

您需要确保在电路中的cloudbit之后有一个输出位。

一个订阅在FME服务器将接收来自主题的通知。作为回应,它们通过受支持的协议向FME工作区或其他客户机传递消息。

在前面的练习中,创建了一个工作区,该工作区使用LittleBitsConnector转换器通过使用WriteToDevice操作触发LittleBits上的事件。在本练习中,工作区将发布到FME服务器,在那里可以根据其他事件触发工作区。
这是通过向通知服务注册工作区并订阅主题来实现的。当所选主题在FME服务器中触发时,与该主题关联的任何订阅都将运行。在这种情况下,订阅将是littleBits工作区。

与电子邮件相比,这是一个更令人兴奋和有趣的选择!

向NotificationService注册工作区将自动创建订阅。然而,您还可以通过Web UI为FME Server创建订阅:

试一试:

创建LittleBits工作区

请按照'发布到LittleBits CloudBit'创建可以在littleBits上触发事件的工作区。

一旦你有了一个可以发布到littleBits的工作空间,这可以转换为一个FME服务器订阅。然后,FME服务器中的主题将触发此订阅。

创建主题

在FME服务器的Web UI中,创建一个名为JobOutcomelittleBits的新主题。 .

将littleBits工作区发布到FME服务器

从工作台,将使用LittleBitsConnector中的“WriteToDevice”操作的工作区发布到FME服务器。在通知服务中注册它。编辑通知服务属性并订阅您刚刚创建的主题:joboutcomelittlebits。 .发布工作区。

创建工作区以触发订阅

在工作台,创建一个将会失败的新工作区。这应该包括一个创造者,减速器和终结者。选择减速机内部合适的延时。

将工作区发布到FME服务器,确保作业提交者服务的属性设置为发布到joboutcomelittlebits。 关于失败的主题。

结果:

从FME服务器运行故障工作区。
当工作区失败时,这将向主题发送消息。然后该主题触发任何订阅,导致调用littleBits的工作区。

工作区(故障工作区)——>主题(JobOutcomeLittleBits)——>订阅工作区(littleBits工作区)
当作业失败时,您应该发现事件发生在小部分上。这可以是LED照明,声音播放,一个马达移动,等。

FMESER 通知服务 实时 httpcaller 话题 应用程序编程接口 REST API 订阅 FMEU2017 改变 诺迪斯 littlebits 清华大学,2017年5月11日23:31:43格林尼治标准时间 jlutherthomas
作为jlutherthomas的kbentry上LittleBits的Webhook的FME服务器 https://knowledge.亚搏在线safe.com/articles/44194/fme-server-as-a-webhook-for-littlebits.html

注意:您的FME服务器需要能够从外部访问。您需要确保在电路中的cloudBit之前有一个输入位。

对于视频演示,见变压器的文档.

LittleBits有一个API,它允许用户为他们的小部分设置一个Webhook。这允许设备将关于事件的消息发布到用户提供的端点URL。

试一试:

获取要用作端点的URL

用于FME服务器或FME云,这可以是主题POST URL。要访问主题POST URL,通过导航到通知>主题,创建一个主题。为了避免主题名称冲突,添加。 在主题名称的末尾。

展开高级部分。这将允许您看到两个不同的POST url。在此示例中,将使用“作为订阅服务器内容的消息”URL。发布URL将采用以下格式:

http (s): / /
       
        :
        
         /主题/ /以前/ v3 /通知
         
          /信息/ subscribercontent ? fmetoken =
          
         
        
       

用littleBits注册URL端点

在空白工作区中添加一个创建者,小比特连接器和一个日志程序。

要用LittleBits注册URL端点,从FME服务器Web UI复制的日志URL需要设置为LittleBitsConnector内的服务器Webhook参数。将LittleBits操作设置为CreatePublisation,并确保设置了正确的设备ID和访问令牌。

运行工作区并检查日志文件,以确保已正确设置。

结果:

在FME Server Web UI中,开始监视在本练习开始时创建的主题。当发生在littleBits上的事件时,主题消息应该在主题监视中可见。
每次你触发一个输入——按下一个按钮,发出一些声音等,这将向该cloudbit的所有注册端点发送有关事件的JSON消息。

FMESER 通知服务 实时 httpcaller 话题 应用程序编程接口 REST API 订阅 FMEU2017 改变 诺迪斯 littlebits 人则 话题 清华大学,2017年5月11日20:36:31格林尼治标准时间 jlutherthomas
天气更新和FME服务器(教程) https://knowledge.亚搏在线safe.com/articles/43904/weather-updates-and-fme-server-tutorial.html

FME Workbench可用于构建一个工作区,该工作区将检查数据集或服务以获得所需的结果,更改的值或满足某些条件的值。然后可以在FME服务器上定期运行这些程序,在一个时间表。

如果返回数据,工作区中标识的更改或满足的标准可以触发事件(订阅)。这可能是数据处理或发送通知。

在本教程中,我们将使用openweathermapforce来检查天气,并向FME服务器发送关于当前条件的通知。

工作区:

weatherupdates-begin.fmw
weatherupdates-complete.fmw

试一试:

请下载OpenWeatherMapForecaster变压器从FME集线器。您需要注册来自的API密钥OpenWeatherMap.

这个变压器采用点几何来返回天气预报,所以你需要在FME中创建一个兴趣点(你想要天气预报的地方)。

一些有用的坐标可能是:

会议中心(FME UC地点):lat: 49.2892260经度:-123.1169553

亚搏在线安全软件办公室:lat: 49.138036 lon: -122.857629

你也可以使用谷歌地图找到你自己的纬度/经度坐标。

通过将lon值输入“x值”,将lat值输入“y值”,将坐标输入创建者。为此,您需要单击“几何对象:点”旁边的“…”。

运行工作区并检查输出。

在OpenWeatherMapForecaster中,将天气设置为“Current”并输入API键。

现在我们要创建一条通知消息。添加AttributeCreator并使用OpenWeatherMapForecaster的输出构造消息。

例如:

新属性:天气消息

属性值:现在天气是@Value(weather_description)。云覆盖率为@Value(Cloud)%。

我们需要找个地方来发送这个信息,所以我们将它发送到FME服务器上的一个主题。打开FME服务器的Web UI,转到通知>主题。添加一个新主题,称为天气警报。您还应该看到主题监视选项。选择天气警报主题,然后按播放按钮开始监视。不要关闭此选项卡,在运行完天气工作区后,我们想回到这里。

回到工作台,添加一个fmeservernotifier并打开参数。添加到FME服务器的连接,选择天气警报主题,对于内容,选择天气信息属性。

运行工作区。一旦完成,返回在浏览器中打开的通知页面。您应该看到您的消息出现在主题监控下。

拉伸,您是否可以调整工作区以检查未来天气预报,并根据不同的天气事件进行通知?
提示:查看WeatherUpdates-Complete.fmw

结果:

您应该看到您在AttributeCreator中构造的消息作为主题消息出现在FME服务器中,当监视天气警报主题时。

您可以创建一个由这个主题触发的订阅,它可以提醒某人即将到来的天气状况,例如发送电子邮件或短信。

通知服务 实时 话题 REST API FMEU2017 主题监测 改变 诺迪斯 littlebits 主题信息 天气 妈,2017年5月8日00:06:35格林尼治标准时间 jlutherthomas