Как с помощью JavaScript библиотеки '@influxdata/influxdb-client' получить данные из influxdb2 bucket в виде массива JavaScript?
Как с помощью JavaScript библиотеки '@influxdata/influxdb-client' получить данные из influxdb2 bucket в виде массива JavaScript?
Исходные данные сохраняемые в influxdb2. В таком же виде нужно получить данные ранее сохраненые в influxdb2.
[ 1513555200000, 18860.04, 19300, 10961, 13500, 135385.440322 ],
[ 1514160000000, 13500, 16498.05, 11750, 13716.36, 116522.754321 ],
[ 1514764800000, 13715.65, 17176.24, 12750, 16150.03, 120239.399359 ],
[ 1515369600000, 16218.85, 16322.3, 11400, 13474.99, 137537.904565 ],
[ 1515974400000, 13477.98, 14249.99, 9035, 11530, 303127.502137 ],
[ 1516579200000, 11530, 12244, 9900.24, 11879.95, 198030.051117 ],
[ 1517184000000, 11879.95, 11975.02, 7930, 8184.81, 202016.407759 ],
[ 1517788800000, 8179.99, 9065.78, 6000.01, 8063.88, 340794.292131 ],
[ 1518393600000, 8063.82, 11274, 8053, 10383.43, 311863.068137 ],
[ 1518998400000, 10375.01, 11786.01, 9274.8, 9590, 350623.132911 ],
[ 1519603200000, 9590, 11565, 9350, 11515, 183970.997614 ],
[ 1520208000000, 11515, 11710, 8329, 9533.57, 282035.225382 ],
[ 1520812800000, 9533.57, 9888.88, 7322, 8189.99, 315835.151606 ],
[ 1521417600000, 8189, 9177.01, 8088.4, 8470.15, 285211.539511 ],
[ 1522022400000, 8470.14, 8514.89, 6430, 6813.01, 308729.492031 ],
[ 1522627200000, 6813.01, 7520, 6500, 7018, 232320.070499 ],
[ 1523232000000, 7011.04, 8429.54, 6611, 8355, 259877.022414 ],
[ 1523836800000, 8355.07, 9035, 7825.4, 8787.02, 233025.38619 ],
[ 1524441600000, 8785.7, 9759.82, 8651.62, 9419, 306668.07214 ],
[ 1525046400000, 9417.04, 10020, 8800.49, 9659.01, 222274.38854 ],
[ 1525651200000, 9661.02, 9689.67, 8153, 8679.71, 224151.298751 ],
[ 1526256000000, 8679.71, 8879.99, 7911.9, 8526.98, 182713.826012 ],
[ 1526860800000, 8526.97, 8595.31, 7231.11, 7338.99, 190894.600939 ],
[ 1527465600000, 7338.99, 7786.69, 7032.95, 7714.26, 211929.270766 ],
[ 1528070400000, 7714.26, 7765, 6622.81, 6764.99, 211352.737478 ],
[ 1528675200000, 6765, 6922, 6118.68, 6449.61, 234080.841171 ],
[ 1529280000000, 6444.06, 6841.74, 5750, 6136.97, 234147.621015 ],
[ 1529884800000, 6137.95, 6528.99, 5780, 6356.81, 207746.559006 ],
[ 1530489600000, 6360.82, 6818.16, 6271.62, 6712.1, 211526.019058 ],
[ 1531094400000, 6712.1, 6802.06, 6070, 6353.01, 192452.84988 ],
[ 1531699200000, 6354.15, 7700, 6330.4, 7394.79, 294313.222604 ],
[ 1532304000000, 7394.78, 8491.77, 7375, 8211, 288666.047141 ],
[ 1532908800000, 8210.99, 8273, 6882.29, 7024.19, 282090.103584 ],
[ 1533513600000, 7024.19, 7160, 5971, 6308.33, 334426.550743 ],
[ 1534118400000, 6308.56, 6620, 5880, 6477.53, 378189.296487 ],
[ 1534723200000, 6477.53, 6882.54, 6220, 6700, 286906.539311 ],
[ 1535328000000, 6700, 7345.45, 6646.5, 7302.01, 294674.913005 ],
[ 1535932800000, 7302, 7410, 6111, 6250.81, 306231.623424 ],
[ 1536537600000, 6252.26, 6584.99, 6169.68, 6505, 227428.182854 ],
[ 1537142400000, 6500.08, 6839.03, 6123, 6708, 244256.490121 ],
[ 1537747200000, 6706.81, 6814.8, 6325.02, 6626.57, 242598.872471 ],
[ 1538352000000, 6626.57, 6697, 6430, 6615.26, 141836.476483 ],
[ 1538956800000, 6615.26, 6715.6, 6205, 6339.34, 166310.813544 ],
[ 1539561600000, 6339.34, 7680, 6300, 6590.11, 211592.623139 ],
[ 1540166400000, 6590.12, 6639, 6453, 6489.93, 75328.885385 ],
[ 1540771200000, 6489.93, 6525, 6245.02, 6485.85, 71945.400607 ],
[ 1541376000000, 6485.85, 6615.15, 6355, 6449.81, 76161.78188 ],
[ 1541980800000, 6450.71, 6498, 5403.42, 5662, 205081.183938 ],
[ 1542585600000, 5661.94, 5664, 3652.66, 4085.78, 496323.79998 ],
[ 1543190400000, 4088.69, 4450.38, 3689.12, 4161.01, 479458.799151 ],
[ 1543795200000, 4160.55, 4179, 3222, 3545.37, 406435.817854 ],
[ 1544400000000, 3548.49, 3610, 3156.26, 3228.67, 249791.790787 ],
[ 1545004800000, 3229.22, 4139.99, 3216, 3929.71, 489096.276467 ],
[ 1545609600000, 3929.71, 4198, 3535, 3801.91, 332161.255442 ],
[ 1546214400000, 3803.12, 4027.71, 3630.33, 3987.6, 214860.906242 ],
[ 1546819200000, 3987.62, 4069.8, 3441.3, 3476.81, 245887.277948 ],
[ 1547424000000, 3477.56, 3720, 3467.02, 3539.28, 199395.792965 ],
[ 1548028800000, 3539.26, 3662.94, 3434.85, 3550.84, 154566.450861 ],
[ 1548633600000, 3550.05, 3557.75, 3349.92, 3458.11, 186574.105423 ],
[ 1549238400000, 3458.11, 3733.58, 3373.1, 3680.06, 198350.673988 ],
[ 1549843200000, 3679.75, 3700.11, 3568.11, 3667.58, 167995.805139 ],
[ 1550448000000, 3667.62, 4198, 3655, 3743.56, 301384.22226 ],
[ 1551052800000, 3743.56, 3888, 3677.17, 3807.75, 190343.246726 ],
[ 1551657600000, 3807.32, 3971.75, 3670.69, 3916.82, 207833.42997 ],
[ 1552262400000, 3915.99, 4056.98, 3810.43, 3981.14, 185620.344813 ],
[ 1552867200000, 3981.85, 4069.32, 3880.01, 3992.18, 156283.263483 ],
[ 1553472000000, 3991.35, 4140, 3888.71, 4103.95, 178114.875049 ],
[ 1554076800000, 4102.44, 5275.01, 4067, 5170.27, 420989.968738 ],
[ 1554681600000, 5170.27, 5422, 4861.22, 5131.3, 247866.407405 ],
[ 1555286400000, 5131.28, 5333.42, 4950, 5256.14, 168555.911745 ],
[ 1555891200000, 5257.41, 5600, 5102, 5307.52, 247392.823904 ],
[ 1556496000000, 5309.81, 5900, 5178.8, 5775.62, 191971.589975 ],
[ 1557100800000, 5773.18, 7521.78, 5619.14, 6967.31, 313283.734225 ],
[ 1557705600000, 6968.24, 8366, 6870, 8148.48, 461287.694139 ],
[ 1558310400000, 8147.94, 8740, 7461, 8614.43, 341677.39881 ],
[ 1558915200000, 8612.54, 9074.26, 8005, 8725.98, 292049.043812 ],
[ 1559520000000, 8726, 8800.95, 7444.58, 7628.13, 293308.709696 ],
[ 1560124800000, 7627.57, 9333, 7511, 8953.33, 274072.058371 ],
[ 1560729600000, 8953, 11392.64, 8950, 10906.07, 378253.003065 ],
[ 1561334400000, 10905.95, 13970, 10525.1, 10854.1, 684152.508772 ],
[ 1561939200000, 10854.1, 12000, 9727, 11406.24, 517740.071693 ],
[ 1562544000000, 11410, 13147.08, 10103, 10174.18, 510462.035678 ]
Функция которая записывает исходные данные в influxdb2
async function importData(exchange_id, timeframe, symbol, ohlcv) {
let writeApi = globalInfluxDB.getWriteApi(exchange_id, timeframe, 'ms', INFLUXDB_WRITE_OPTIONS)
// import a bigger count of items
let ohclvLength = ohlcv.length
let p, t, o, h, l, c, v;
for (let i = 0; i < ohclvLength; i++) {
t = BigInt(ohlcv[i][0])
o = ohlcv[i][1]
h = ohlcv[i][2]
l = ohlcv[i][3]
c = ohlcv[i][4]
v = ohlcv[i][5]
p = new Point('ohlcv')
.tag('s', symbol)
.floatField('o', o)
.floatField('h', h)
.floatField('l', l)
.floatField('c', c)
.floatField('v', v)
.timestamp(t)
writeApi.writePoint(p)
// control the way of how data are flushed
if ((i + 1) % globalInfluxDBFlushBatchSize === 0) {
console.log(`flush writeApi: chunk #${(i + 1) / globalInfluxDBFlushBatchSize}`)
try {
await writeApi.flush()
} catch (e) {
console.error()
}
}
await writeApi.flush()
}