全部刊发内容都可转载可是须要注明出处。
javascript
本系列文档主要介绍怎么经过Streamr管理本身的DATA,整个系列包括三篇教程文档,分别是:教你5分钟上传数据至Streamr、三种整合数据至Streamr的典型场景、教你在Streamr市场上发布数据。全部文档均参考Streamr blog。前两篇主要偏向技术文档,因此须要有必定的技术背景。第三篇不包含任何技术知识,大部分人均可以按照教程来完成相应的操做。html
本篇教程文档主要介绍了如何上传用户自身的数据至Sreamr网络。首先,你将使用UI创建一些Stream,而后使用Streamr Java客户端库上传自定义数据至刚创建的Stream。除此以外,本篇文档也将介绍如何经过其余编程语言来调用Streamr提供的API接口,实现用户上传自定义数据至Streamr网络。java
如图所示,Streamr上的数据(DATA)包括若干个Stream,所述Stream是由一系列有序的event(或者说标有时间戳的数据点)组成。其中,每一个event的负载都是JSON格式的对象(或者说是键值对的集合),下面以一些传感器读取的数据为例说明event的负载形式:node
{ "temperature": 65.4, "humidity": 82, "sensorID": "sauna" }
Sign Up
完成注册;Streams
;Create Stream
按钮;Stream
的名字和简介,例如My test stream
;Next
按钮将出现以下界面;图中红色圈出的是Stream ID
,后续过程会用到,请牢记。git
用户经过调用Streamr API接口向Streamr提交event时,须要获取API keys来完成鉴权操做。具体步骤以下:github
Setting
按钮并选择Profile
选项;API Keys
选项;Key name
输入框中输入密钥名称(好比Tutorial
)并点击+
按钮,而后点击copy
按钮复制密钥;最简单的调用API接口办法是使用官方JavaScript client,该客户端使用node.js编程语言编写,其它语言的客户端库还在计划中。用户能够经过浏览器在本地使用官方的JavaScript client,首先使用浏览器打开JS Bin,而后使用自身的Stream ID和API key替换页面显示代码中的MY-STREAM-ID
和MY-API-KEY
,最后点击Run with JS
按钮,用户的浏览器便会自动提交数据至Stream。
npm
具体地,在JS Bin页面用户将看到Sent successfully: …
消息,而且在Stream页面的Recent Events
选项中将看到JS Bin实时上传的events,具体以下图所示:
编程
npm install --save streamr-client
const StreamrClient = require('streamr-client') const STREAM_ID = 'MY-STREAM-ID' const API_KEY = 'MY-API-KEY' // Create the client and give the API key to use by default const client = new StreamrClient({ apiKey: API_KEY }) // Here is the event we'll be sending const msg = { hello: 'world', random: Math.random() } // Produce the event to the Stream client.produceToStream(STREAM_ID, msg) .then(() => console.log('Sent successfully: ', msg)) .catch((err) => console.error(err))
执行完上述操做后,在Stream页面的Recent Events
选项中能够看到最新提交的event。canvas
用户可使用HTTP library来完成和Streamr API的交互。api
https://www.streamr.com/api/v1/streams/MY-STREAM-ID/data
{ "hello": "world", "number": 12345 }
Authorization: token MY-API-KEY
用户可使用Postman等工具完成上述过程,具体参加下图:
curl -i -X POST -H “Authorization: token MY-API-KEY” -d “{\”hello\”:\”world\”}” https://www.streamr.com/api/v1/streams/MY-STREAM-ID/data