Andmete ühendamine voogesitajaga 5 minutiga (1/3)

See on andmete integreerimist käsitlev ajaveebi postituste miniseeria, mis aitab meie kasutajatel ja Marketplace'i müüjatel pardal olla. Kaks esimest on tehnilised, samas kui kolmandat saab teha peaaegu igaüks.

  1. Kuidas ühendada andmeid Streamriga 5 minutiga
  2. Kolm mustrit oma andmete integreerimiseks Streamrisse
  3. Toote loomine Streamri andmeturu jaoks

Selles õpetuses saate teada, kuidas saata reaalajas andmeid voogesitusse, mis on olemas voogesitaja võrgus. Kasutate voo loomiseks kasutajaliidest, seejärel saatke sellele andmepunktid, kasutades Streamr JavaScripti kliendikogusid. Vaatleme ka seda, kuidas teha sama mis tahes keeles, tehes otse API kõnesid.

Voogude ja sündmuste mõistmine

Andmed Streamris koosneb voogudest (teemad), mis sisaldavad järjestatud sündmuste jada (ajatemplitega andmepunktid). Sündmuse kasulik koormus on JSON-objektid ehk teisisõnu võtme-väärtuse paaride komplekt. Siin on näide mõne anduri näidu kohta:

{
  "temperatuur": 65,4,
  niiskus: 82,
  "sensorID": "saun"
}

Esimese voo loomine

  1. Logige sisse aadressil www.streamr.com või registreeruge, kui teil pole kontot.
  2. Klõpsake peamise navigeerimise nuppu „Streams“.
  3. Klõpsake nuppu „Loo voog”.
  4. Andke oma voogule nimi ja kirjeldus, nt “Minu testivoog”.
  5. Vajutage nuppu „Järgmine“. Valmis! Näete seda:

Pange üles punasega ümardatud ring, kuhu oma voo ID-d leida. Vajate seda varsti.

API-võtmete leidmine

Enne kui saate API kaudu oma läikivasse uude voogu sündmusi toota, vajate API autentimiseks võtit:

  1. Klõpsake peamises navigeerimismenüüs sätete ikooni (hammasratas) ja valige „Profiil” (või klõpsake lihtsalt siin).
  2. Leidke jaotis „API võtmed”.
  3. Sisestage sisendisse „Key name” uue klahvi nimi, näiteks „Tutorial”, ja vajutage nuppu „+”. Seejärel saate võtme lõikelauale kopeerida, vajutades kopeerimise nuppu:

Ürituste produtseerimine ojadesse

Lihtsaim viis API-ga suhtlemiseks on JavaScripti kliendi kasutamine, mis töötab nii node.js-is kui ka brauseris. Teiste keelte kliendikogud on teekaardis.

Võite seda ka oma brauseris kohapeal proovida. Lihtsalt avage JS-prügikott (pildil allpool) ja asendage MY-STREAM-ID ja MINU-API-KEY oma voo ID ja API-võtmega. Teie brauser hakkab teie voogu andmeid tootma!

Peaksite JS Binis nägema sõnumeid „Saadetud edukalt:…” ja seni, kuni JS bin on avatud, kuvatakse uusi andmepunkte reaalajas teie voo lehe jaotises „Viimased sündmused”:

Õnnitleme, saadate edukalt andmeid voogu! Ehkki JS Bini näide töötab teie brauseris lokaalselt, minge edasi ja kustutage igaks juhuks profiililehelt API-võti „Tutorial”.

Streamr-kliendi kasutamine seadmes node.js

Klient töötab sarnaselt sõlmes.js. Installige oma projektis esmalt kliendikogus:

npm install - salvestage streamr-klient

Seejärel looge väike skript node.js, mis saadab sündmuse teie voogu (asendage jällegi MINU-STREAM-ID ja MINU-API-KEY oma voo ID-ga ja teie API-võtmega):

const StreamrClient = nõuda ('streamr-klient')
const STREAM_ID = 'MINU-STREAM-ID'
const API_KEY = 'MINU-API-KEY'
// Looge klient ja andke API-võti vaikimisi kasutamiseks
const klient = uus StreamrClient ({
    apiKey: API_KEY
})
// Siin on sündmus, mille saadame
const msg = {
    Tere, Maailm',
    juhuslik: Math.random ()
}
// Lavastage sündmus voogesitusele
client.produceToStream (STREAM_ID, sõnum)
    . then (() => console.log ('Edukalt saadetud:', msg))
    .catch ((viga) => console.error (viga))

Pange tähele, et raamatukogu nõuab node.js ≥ 8. Kui ülaltoodut käivitate, peaks teie voo lehe „Viimati sündmus” all ilmuma kohe uus sündmus!

Mis saab siis, kui minu rakendus pole JavaScriptis?

Saate Streamri API-ga suhelda, kasutades mõnda teie valitud HTTP-teeki. Kõik üksikasjad leiate API-dokumentidest, kuid siin on lühike ülevaade:

  • Teete HTTP POST-i taotlusi URL-ile, mis sisaldab teie voo ID:
https://www.streamr.com/api/v1/streams/MY-STREAM-ID/data
  • Taotluse põhiosa on teie andmemaht JSON-is
  • Lisage oma API-võti HTTP päistesse järgmiselt:
Autoriseerimine: MY-API-KEY

Nii näeks testitaotlus vapustavas Postmani rakenduses koos URL-i ja volituse päisega:

Ja JSON-i sündmus kui töötlemata päringukogu:

Võite isegi käsurealt saata lokkimisega sündmuse! Siin on näide:

curl -i -X ​​POST -H “Autoriseerimine: token MY-API-KEY” -d “{\” tere \ ”: \“ maailm \ ”}” https://www.streamr.com/api/v1/streams / MINU-STREAM-ID / andmed

Boonus: voo konfigureerimine

Nii enda kui ka teiste jaoks voo hõlpsamaks kasutamiseks saate selle välja konfiguratsiooni seadistada. See on valikuline metaandmed, mis kirjeldab sündmuste ülesehitust, st milliseid välju kasutatakse koormustes. Väljade saab juba loodud andmete põhjal automaatselt tuvastada.

Klõpsake oma voo lehel seda nuppu:

Seejärel vajutage nuppu „Automaattuvastus“. Peaksite nägema oma viimase sündmuse väljad. Vajutage nuppu „Salvesta“. Valmis! Nüüd saab voogu kasutada näiteks redaktoris asjade ehitamiseks.

Mis edasi?

Nüüd, kui olete õppinud põhitõed, selgitab järgmine postitus kolme erinevat andmete integreerimise mustrit:

1. Allikast tõukamine
2. Sillastumine voogesituse allikast
3. Silla ühendamine allika küsitlemisega

Selles õpetuses saavutasite kõige lähemal 1. võimalusele, mis eeldab, et teil on juurdepääs teie kontrolli all olevas tarkvaras uutele andmepunktidele. Mõnikord pole see nii - näiteks võivad teie andmed kõigepealt sundida ennast seadme müüja pilve, kust peate selle tooma ja seejärel voogesitusse edastama. Sellist stsenaariumi uuritakse järgmises postituses.

Lõpuks, kolmandas postituses, vaatame, kuidas muuta teie loodud ojad toodetest Streamri turuplatsil. See võimaldab teil oma vooge tasuta jagada või litsentsida neid makse saamiseks teistele.

Probleemide ilmnemisel tähistage meie telegrammis ja Redditi kanalites üks meie moodsatest versioonidest.