如何将文件通过管道传输到 keen.io
How to pipe a file into keen.io
我有这个程序:
var planetStream = require('../../');
var app = require('http').createServer(handler);
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(8000);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
var diffs = planetStream();
var buildings = diffs
.map(JSON.parse)
.filter(function (x) {
return x.action === 'create' && x.type === 'way' &&
x.tags.building;
});
buildings.onValue(function (x) {
console.log(x);
io.emit('buildings', x);
});
为了数据监控,我需要在keen.io中进行管道传输。有人知道该怎么做或以前做过吗?
此致
安德烈
好吧,我找到了答案。
要将日期传输到 keen.io,我们需要在 HTML 文件中实现所有代码。在我的例子中是 index.html.
首先我们需要把这段代码放在</head>
之前:
<script type="text/javascript">
!function(a,b){a("Keen","https://d26b395fwzu5fz.cloudfront.net/3.4.0-rc/keen.min.js",b)}(function(a,b,c){var d,e,f;c["_"+a]={},c[a]=function(b){c["_"+a].clients=c["_"+a].clients||{},c["_"+a].clients[b.projectId]=this,this._config=b},c[a].ready=function(b){c["_"+a].ready=c["_"+a].ready||[],c["_"+a].ready.push(b)},d=["addEvent","setGlobalProperties","trackExternalLink","on"];for(var g=0;g<d.length;g++){var h=d[g],i=function(a){return function(){return this["_"+a]=this["_"+a]||[],this["_"+a].push(arguments),this}};c[a].prototype[h]=i(h)}e=document.createElement("script"),e.async=!0,e.src=b,f=document.getElementsByTagName("script")[0],f.parentNode.insertBefore(e,f)},this);
</script>
我们需要在 <body></body>
中执行此代码:
var client = new Keen({
projectId: "YOUR_PROJECT_ID",
writeKey: "YOUR_WRITE_KEY"
});
project_ID 和 Your_Write_key 可以在开始新项目后在 keen.io 中找到。
最后一步也是实现这个功能:
client.addEvent("osm_20_01", { key: data.nodes });
osm_20_01 是您将在您的项目中找到的事件集合的名称。
键是值的名称。 'data.nodes' 是值。
我有这个程序:
var planetStream = require('../../');
var app = require('http').createServer(handler);
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(8000);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
var diffs = planetStream();
var buildings = diffs
.map(JSON.parse)
.filter(function (x) {
return x.action === 'create' && x.type === 'way' &&
x.tags.building;
});
buildings.onValue(function (x) {
console.log(x);
io.emit('buildings', x);
});
为了数据监控,我需要在keen.io中进行管道传输。有人知道该怎么做或以前做过吗?
此致
安德烈
好吧,我找到了答案。 要将日期传输到 keen.io,我们需要在 HTML 文件中实现所有代码。在我的例子中是 index.html.
首先我们需要把这段代码放在</head>
之前:
<script type="text/javascript">
!function(a,b){a("Keen","https://d26b395fwzu5fz.cloudfront.net/3.4.0-rc/keen.min.js",b)}(function(a,b,c){var d,e,f;c["_"+a]={},c[a]=function(b){c["_"+a].clients=c["_"+a].clients||{},c["_"+a].clients[b.projectId]=this,this._config=b},c[a].ready=function(b){c["_"+a].ready=c["_"+a].ready||[],c["_"+a].ready.push(b)},d=["addEvent","setGlobalProperties","trackExternalLink","on"];for(var g=0;g<d.length;g++){var h=d[g],i=function(a){return function(){return this["_"+a]=this["_"+a]||[],this["_"+a].push(arguments),this}};c[a].prototype[h]=i(h)}e=document.createElement("script"),e.async=!0,e.src=b,f=document.getElementsByTagName("script")[0],f.parentNode.insertBefore(e,f)},this);
</script>
我们需要在 <body></body>
中执行此代码:
var client = new Keen({
projectId: "YOUR_PROJECT_ID",
writeKey: "YOUR_WRITE_KEY"
});
project_ID 和 Your_Write_key 可以在开始新项目后在 keen.io 中找到。 最后一步也是实现这个功能:
client.addEvent("osm_20_01", { key: data.nodes });
osm_20_01 是您将在您的项目中找到的事件集合的名称。 键是值的名称。 'data.nodes' 是值。