全部刊發內容都可轉載可是須要註明出處。
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