-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
69 lines (60 loc) · 1.62 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const CosmosClient = require("@azure/cosmos").CosmosClient;
let currentEnv = process.env.environment || "PROD";
if (currentEnv !== 'PROD') {
const dotenv = require("dotenv");
dotenv.config();
}
let count = process.env.COUNT || 1000;
let cosmos,
dbResponse;
const testitem = require('./test.json');
const partions = [
'CORPULSE',
'MSFT',
'GOOGLE',
'AMAZON',
'FACEBOOK',
'TWITTER',
'INSTA',
'PINTEREST',
'XYZ',
'HALO'
];
async function run() {
cosmos = new CosmosClient({
endpoint: process.env.HOST,
auth: {
masterKey: process.env.AUTHKEY
}
});
dbResponse = await cosmos
.databases
.createIfNotExists({id: process.env.DATABASE});
let coResponse = await dbResponse
.database
.containers
.createIfNotExists({id: process.env.COLLECTION});
let collection = coResponse.container;
console.time("InsertCosmos");
for (let index = 0; index < count; index++) {
try {
// generate ID
testitem.id = Math.floor(Math.random() * 10000000000000).toString();
// pick random partion ID
let i = Math.floor(Math.random() * Math.floor(10));
testitem.company = partions[i];
await collection
.items
.create(testitem);
} catch (error) {
console.error(error);
}
}
console.timeEnd("InsertCosmos");
}
console.log("Starting...");
console.log(new Date().toUTCString());
run().then(() => {
console.log("Done. Inserted: " + count);
console.log(new Date().toUTCString());
});