@golemio/core 1.17.2-rc.1581825042 → 1.17.3-dev.1581832818
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers/data-access/storage/AzureBlobStorageService.d.ts +3 -1
- package/dist/helpers/data-access/storage/AzureBlobStorageService.js +36 -12
- package/dist/helpers/data-access/storage/AzureBlobStorageService.js.map +1 -1
- package/dist/input-gateway/data-access/StorageServiceProvider.js +1 -0
- package/dist/input-gateway/data-access/StorageServiceProvider.js.map +1 -1
- package/dist/input-gateway/helpers/SaveRawDataMiddleware.js +8 -2
- package/dist/input-gateway/helpers/SaveRawDataMiddleware.js.map +1 -1
- package/dist/integration-engine/data-access/StorageServiceProvider.js +1 -0
- package/dist/integration-engine/data-access/StorageServiceProvider.js.map +1 -1
- package/package.json +8 -7
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import { Readable } from "stream";
|
|
5
4
|
import { ILogger } from "../../logger";
|
|
5
|
+
import { Readable } from "stream";
|
|
6
6
|
import { AbstractStorageService } from "./AbstractStorageService";
|
|
7
7
|
export interface IAzureBlobStorageConfig {
|
|
8
8
|
clientId: string;
|
|
@@ -10,10 +10,12 @@ export interface IAzureBlobStorageConfig {
|
|
|
10
10
|
clientSecret: string;
|
|
11
11
|
account: string;
|
|
12
12
|
containerName: string;
|
|
13
|
+
uploadTimeoutInSeconds: number;
|
|
13
14
|
}
|
|
14
15
|
export declare class AzureBlobStorageService extends AbstractStorageService {
|
|
15
16
|
private readonly log;
|
|
16
17
|
private readonly containerClient;
|
|
18
|
+
private readonly uploadTimeoutInMs;
|
|
17
19
|
constructor(config: IAzureBlobStorageConfig, log: ILogger);
|
|
18
20
|
uploadStream(stream: Readable, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
19
21
|
uploadFile(data: Buffer | string, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
|
|
@@ -10,10 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AzureBlobStorageService = void 0;
|
|
13
|
-
const storage_blob_1 = require("@azure/storage-blob");
|
|
14
|
-
const AbstractStorageService_1 = require("./AbstractStorageService");
|
|
15
13
|
const _helpers_1 = require("../..");
|
|
16
14
|
const identity_1 = require("@azure/identity");
|
|
15
|
+
const storage_blob_1 = require("@azure/storage-blob");
|
|
16
|
+
const AbstractStorageService_1 = require("./AbstractStorageService");
|
|
17
17
|
class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageService {
|
|
18
18
|
constructor(config, log) {
|
|
19
19
|
super();
|
|
@@ -23,8 +23,9 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
23
23
|
this.containerClient = blobServiceClient.getContainerClient(config.containerName);
|
|
24
24
|
this.containerClient.createIfNotExists().catch((err) => {
|
|
25
25
|
// This is fine in the production environment
|
|
26
|
-
this.log.debug(`[${this.constructor.name}] Could not initialize container "${config.containerName}"
|
|
26
|
+
this.log.debug(err, `[${this.constructor.name}] Could not initialize container "${config.containerName}"`);
|
|
27
27
|
});
|
|
28
|
+
this.uploadTimeoutInMs = config.uploadTimeoutInSeconds * 1000;
|
|
28
29
|
}
|
|
29
30
|
uploadStream(stream, pathPrefix, ext = "", fileName) {
|
|
30
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -32,16 +33,38 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
32
33
|
const fileNamePrefix = fileName !== null && fileName !== void 0 ? fileName : `${now.format("yyyy-MM-dd")}/${now.format("HH_mm_ss.SSS")}`;
|
|
33
34
|
const fileNameKey = `${pathPrefix}/${fileNamePrefix}`;
|
|
34
35
|
const fileNameExt = ext ? `.${ext}` : "";
|
|
36
|
+
const controller = new AbortController();
|
|
35
37
|
try {
|
|
36
|
-
const blobClient = this.containerClient.getBlockBlobClient(`${fileNameKey}${fileNameExt}`);
|
|
37
38
|
const options = {
|
|
38
39
|
blobHTTPHeaders: { blobContentType: "application/octet-stream" },
|
|
39
40
|
onProgress: this.handleUploadProgress(fileNameKey + fileNameExt),
|
|
41
|
+
abortSignal: controller.signal,
|
|
40
42
|
};
|
|
43
|
+
//#region Stream events
|
|
44
|
+
stream.on("error", (err) => {
|
|
45
|
+
this.log.error(err, `[${this.constructor.name}] Read stream error (${fileNameKey}${fileNameExt})`);
|
|
46
|
+
if (!controller.signal.aborted) {
|
|
47
|
+
controller.abort();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
stream.on("end", () => {
|
|
51
|
+
this.log.verbose(`[${this.constructor.name}] Read stream ended (${fileNameKey}${fileNameExt})`);
|
|
52
|
+
});
|
|
53
|
+
stream.on("close", () => {
|
|
54
|
+
this.log.verbose(`[${this.constructor.name}] Read stream closed (${fileNameKey}${fileNameExt})`);
|
|
55
|
+
});
|
|
56
|
+
//#endregion
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
if (!controller.signal.aborted) {
|
|
59
|
+
controller.abort();
|
|
60
|
+
}
|
|
61
|
+
}, this.uploadTimeoutInMs);
|
|
62
|
+
const blobClient = this.containerClient.getBlockBlobClient(`${fileNameKey}${fileNameExt}`);
|
|
41
63
|
yield blobClient.uploadStream(stream, undefined, undefined, options);
|
|
64
|
+
this.log.verbose(`[${this.constructor.name}] Data stream uploaded (${fileNameKey}${fileNameExt})`);
|
|
42
65
|
}
|
|
43
66
|
catch (err) {
|
|
44
|
-
this.log.error(`[${this.constructor.name}] Saving of data stream failed (${fileNameKey}${fileNameExt})
|
|
67
|
+
this.log.error(err, `[${this.constructor.name}] Saving of data stream failed (${fileNameKey}${fileNameExt})`);
|
|
45
68
|
}
|
|
46
69
|
});
|
|
47
70
|
}
|
|
@@ -52,18 +75,19 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
52
75
|
const fileNameKey = `${pathPrefix}/${fileNamePrefix}`;
|
|
53
76
|
const fileNameExt = ext ? `.${ext}` : "";
|
|
54
77
|
try {
|
|
55
|
-
const blobClient = this.containerClient.getBlockBlobClient(`${fileNameKey}${fileNameExt}`);
|
|
56
|
-
if (!Buffer.isBuffer(data)) {
|
|
57
|
-
data = Buffer.from(data);
|
|
58
|
-
}
|
|
59
78
|
const options = {
|
|
60
79
|
blobHTTPHeaders: { blobContentType: "application/octet-stream" },
|
|
61
80
|
onProgress: this.handleUploadProgress(fileNameKey + fileNameExt, Buffer.byteLength(data)),
|
|
81
|
+
abortSignal: AbortSignal.timeout(this.uploadTimeoutInMs),
|
|
62
82
|
};
|
|
83
|
+
if (!Buffer.isBuffer(data)) {
|
|
84
|
+
data = Buffer.from(data);
|
|
85
|
+
}
|
|
86
|
+
const blobClient = this.containerClient.getBlockBlobClient(`${fileNameKey}${fileNameExt}`);
|
|
63
87
|
yield blobClient.uploadData(data, options);
|
|
64
88
|
}
|
|
65
89
|
catch (err) {
|
|
66
|
-
this.log.error(`[${this.constructor.name}] Saving of data failed (${fileNameKey}${fileNameExt})
|
|
90
|
+
this.log.error(err, `[${this.constructor.name}] Saving of data failed (${fileNameKey}${fileNameExt})`);
|
|
67
91
|
}
|
|
68
92
|
});
|
|
69
93
|
}
|
|
@@ -77,7 +101,7 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
77
101
|
yield blobClient.delete(options);
|
|
78
102
|
}
|
|
79
103
|
catch (err) {
|
|
80
|
-
this.log.error(`[${this.constructor.name}] Deletion of data failed (${fileKey})
|
|
104
|
+
this.log.error(err, `[${this.constructor.name}] Deletion of data failed (${fileKey})`);
|
|
81
105
|
}
|
|
82
106
|
});
|
|
83
107
|
}
|
|
@@ -89,7 +113,7 @@ class AzureBlobStorageService extends AbstractStorageService_1.AbstractStorageSe
|
|
|
89
113
|
return downloadResponse.readableStreamBody;
|
|
90
114
|
}
|
|
91
115
|
catch (err) {
|
|
92
|
-
this.log.error(`[${this.constructor.name}] Getting data failed (${fileKey})
|
|
116
|
+
this.log.error(err, `[${this.constructor.name}] Getting data failed (${fileKey})`);
|
|
93
117
|
}
|
|
94
118
|
});
|
|
95
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureBlobStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AzureBlobStorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AzureBlobStorageService.js","sourceRoot":"","sources":["../../../../src/helpers/data-access/storage/AzureBlobStorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ let StorageServiceProvider = exports.StorageServiceProvider = class StorageServi
|
|
|
28
28
|
clientSecret: config.getValue("env.AZURE_BLOB_CLIENT_SECRET", ""),
|
|
29
29
|
account: config.getValue("env.AZURE_BLOB_ACCOUNT", ""),
|
|
30
30
|
containerName: config.getValue("env.AZURE_BLOB_STORAGE_CONTAINER_NAME", ""),
|
|
31
|
+
uploadTimeoutInSeconds: Number.parseInt(config.getValue("env.AZURE_BLOB_UPLOAD_TIMEOUT_IN_SECONDS", "120")) || 120,
|
|
31
32
|
},
|
|
32
33
|
},
|
|
33
34
|
}, log).getService(storage_1.StorageProvider.Azure);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageServiceProvider.js","sourceRoot":"","sources":["../../../src/input-gateway/data-access/StorageServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,+DAA8G;AAC9G,2DAAmD;AACnD,4CAA6C;AAC7C,uCAA8C;AAGvC,IAAM,sBAAsB,oCAA5B,MAAM,sBAAsB;IAG/B,YAA4C,MAAqB,EAA4B,GAAY;QACrG,MAAM,OAAO,GAAG,IAAI,+BAAqB,CACrC;YACI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM;YACnE,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,CAAC;oBACjE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,CAAC;oBACtD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StorageServiceProvider.js","sourceRoot":"","sources":["../../../src/input-gateway/data-access/StorageServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,+DAA8G;AAC9G,2DAAmD;AACnD,4CAA6C;AAC7C,uCAA8C;AAGvC,IAAM,sBAAsB,oCAA5B,MAAM,sBAAsB;IAG/B,YAA4C,MAAqB,EAA4B,GAAY;QACrG,MAAM,OAAO,GAAG,IAAI,+BAAqB,CACrC;YACI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM;YACnE,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,CAAC;oBACjE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,CAAC;oBACtD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,CAAC;oBAC3E,sBAAsB,EAClB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG;iBACjG;aACJ;SACJ,EACD,GAAG,CACN,CAAC,UAAU,CAAC,yBAAe,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,mBAAU,CAChB,0DAA0D,yBAAe,CAAC,KAAK,EAAE,EACjF,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ,CAAA;iCAnCY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAAyB,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAHnF,sBAAsB,CAmClC"}
|
|
@@ -41,11 +41,17 @@ let SaveRawDataMiddleware = exports.SaveRawDataMiddleware = class SaveRawDataMid
|
|
|
41
41
|
}
|
|
42
42
|
const now = (0, _helpers_1.dateTime)(new Date(), { timeZone: "Europe/Prague" });
|
|
43
43
|
const fileName = `${now.format("yyyy-MM-dd")}/${now.format("HH_mm_ss.SSS")}`;
|
|
44
|
-
this.storage.uploadStream(req, `${requestUrlPath.slice(1)}`, ext, fileName)
|
|
44
|
+
this.storage.uploadStream(req, `${requestUrlPath.slice(1)}`, ext, fileName).catch((err) => {
|
|
45
|
+
this.log.error(err, `Saving of data stream failed (${requestUrlPath})`);
|
|
46
|
+
});
|
|
45
47
|
// save file with headers of the matched route
|
|
46
48
|
if (whitelistRegexp.headersRegexp.exec(requestUrlPath)) {
|
|
47
49
|
const headerFileName = `${fileName}_headers`;
|
|
48
|
-
this.storage
|
|
50
|
+
this.storage
|
|
51
|
+
.uploadFile(JSON.stringify(req.headers), `${requestUrlPath.slice(1)}`, `json`, headerFileName)
|
|
52
|
+
.catch((err) => {
|
|
53
|
+
this.log.error(err, `Saving of headers failed (${requestUrlPath})`);
|
|
54
|
+
});
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
57
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveRawDataMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/SaveRawDataMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA6C;AAE7C,+DAAsE;AACtE,2DAAmD;AAEnD,6EAAwE;AACxE,2DAAuE;AACvE,gCAAyC;AACzC,4CAA6D;AAE7D,mDAA8C;AAC9C,uCAA8C;AAGvC,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAG9B,YACmC,MAAsB,EACrB,YAA2B,EACjC,GAA6B,EAChB,OAAuC;QADnC,QAAG,GAAH,GAAG,CAAS;QACR,YAAO,GAAP,OAAO,CAAwB;QAM3E,kBAAa,GAAG,GAAG,EAAE;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;gBACvD,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;gBAEhC,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;oBACnG,iCAAiC;oBACjC,MAAM,WAAW,GAAG,IAAA,2CAAc,EAAC,GAAG,CAAwC,CAAC;oBAC/E,MAAM,GAAG,GAAG,0CAAsB,CAAC,WAAW,CAAC,CAAC;oBAEhD,wBAAwB;oBACxB,IAAI,CAAC,GAAG,EAAE;wBACN,qBAAY,CAAC,MAAM,CACf,IAAI,qBAAY,CACZ,4BAA4B,cAAc,GAAG,EAC7C,uBAAuB,EACvB,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,EACrE,GAAG,CACN,EACD,IAAI,CAAC,GAAG,CACX,CAAC;wBACF,OAAO,IAAI,EAAE,CAAC;qBACjB;oBAED,MAAM,GAAG,GAAG,IAAA,mBAAQ,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;oBAChE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;oBAE7E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveRawDataMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/SaveRawDataMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA6C;AAE7C,+DAAsE;AACtE,2DAAmD;AAEnD,6EAAwE;AACxE,2DAAuE;AACvE,gCAAyC;AACzC,4CAA6D;AAE7D,mDAA8C;AAC9C,uCAA8C;AAGvC,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAG9B,YACmC,MAAsB,EACrB,YAA2B,EACjC,GAA6B,EAChB,OAAuC;QADnC,QAAG,GAAH,GAAG,CAAS;QACR,YAAO,GAAP,OAAO,CAAwB;QAM3E,kBAAa,GAAG,GAAG,EAAE;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;gBACvD,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;gBAEhC,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;oBACnG,iCAAiC;oBACjC,MAAM,WAAW,GAAG,IAAA,2CAAc,EAAC,GAAG,CAAwC,CAAC;oBAC/E,MAAM,GAAG,GAAG,0CAAsB,CAAC,WAAW,CAAC,CAAC;oBAEhD,wBAAwB;oBACxB,IAAI,CAAC,GAAG,EAAE;wBACN,qBAAY,CAAC,MAAM,CACf,IAAI,qBAAY,CACZ,4BAA4B,cAAc,GAAG,EAC7C,uBAAuB,EACvB,IAAI,KAAK,CAAC,8BAA8B,WAAW,iBAAiB,CAAC,EACrE,GAAG,CACN,EACD,IAAI,CAAC,GAAG,CACX,CAAC;wBACF,OAAO,IAAI,EAAE,CAAC;qBACjB;oBAED,MAAM,GAAG,GAAG,IAAA,mBAAQ,EAAC,IAAI,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;oBAChE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;oBAE7E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,cAAc,GAAG,CAAC,CAAC;oBAC5E,CAAC,CAAC,CAAC;oBAEH,8CAA8C;oBAC9C,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;wBACpD,MAAM,cAAc,GAAG,GAAG,QAAQ,UAAU,CAAC;wBAC7C,IAAI,CAAC,OAAO;6BACP,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC;6BAC7F,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;4BACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,cAAc,GAAG,CAAC,CAAC;wBACxE,CAAC,CAAC,CAAC;qBACV;iBACJ;gBAED,IAAI,EAAE,CAAC;YACX,CAAC,CAAC;QACN,CAAC,CAAC;QAEK,uBAAkB,GAAG,GAAG,EAAE;YAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,MAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,MAAM,WAAW,GAAG,IAAI,IAAA,6BAAY,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAErE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,WAAW,EAAE;oBACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACnC;aACJ;YAED,OAAO;gBACH,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjF,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;aACvF,CAAC;QACN,CAAC,CAAC;QAnEE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC;IACjD,CAAC;CAkEJ,CAAA;gCA7EY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;6DAAkB,gCAAsB;GAPzE,qBAAqB,CA6EjC"}
|
|
@@ -29,6 +29,7 @@ let StorageServiceProvider = exports.StorageServiceProvider = class StorageServi
|
|
|
29
29
|
clientSecret: config.getValue("env.AZURE_BLOB_CLIENT_SECRET", ""),
|
|
30
30
|
account: config.getValue("env.AZURE_BLOB_ACCOUNT", ""),
|
|
31
31
|
containerName: config.getValue("env.AZURE_BLOB_STORAGE_CONTAINER_NAME", ""),
|
|
32
|
+
uploadTimeoutInSeconds: Number.parseInt(config.getValue("env.AZURE_BLOB_UPLOAD_TIMEOUT_IN_SECONDS", "120")) || 120,
|
|
32
33
|
},
|
|
33
34
|
},
|
|
34
35
|
}, log).getService(storage_1.StorageProvider.Azure);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageServiceProvider.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/StorageServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,+DAA8G;AAC9G,2DAAmD;AACnD,gCAAyC;AACzC,4CAA6C;AAC7C,uCAA8C;AAGvC,IAAM,sBAAsB,oCAA5B,MAAM,sBAAsB;IAG/B,YAA4C,MAAqB,EAAiC,GAAY;QAC1G,MAAM,OAAO,GAAG,IAAI,+BAAqB,CACrC;YACI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM;YACnE,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,CAAC;oBACjE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,CAAC;oBACtD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StorageServiceProvider.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/StorageServiceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,+DAA8G;AAC9G,2DAAmD;AACnD,gCAAyC;AACzC,4CAA6C;AAC7C,uCAA8C;AAGvC,IAAM,sBAAsB,oCAA5B,MAAM,sBAAsB;IAG/B,YAA4C,MAAqB,EAAiC,GAAY;QAC1G,MAAM,OAAO,GAAG,IAAI,+BAAqB,CACrC;YACI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM;YACnE,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACzD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,CAAC;oBACjE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,CAAC;oBACtD,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,CAAC;oBAC3E,sBAAsB,EAClB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG;iBACjG;aACJ;SACJ,EACD,GAAG,CACN,CAAC,UAAU,CAAC,yBAAe,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,mBAAU,CAChB,0DAA0D,yBAAe,CAAC,KAAK,EAAE,EACjF,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;SACL;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ,CAAA;iCAnCY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAAyB,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GAHxF,sBAAsB,CAmClC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/core",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.3-dev.1581832818",
|
|
4
4
|
"description": "Golemio Core Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@abraham/reflection": "^0.10.0",
|
|
74
|
-
"@azure/data-tables": "^13.
|
|
75
|
-
"@azure/identity": "^4.0
|
|
76
|
-
"@azure/storage-blob": "^12.
|
|
77
|
-
"@golemio/errors": "2.0.
|
|
78
|
-
"@golemio/validator": "0.3.
|
|
74
|
+
"@azure/data-tables": "^13.3.0",
|
|
75
|
+
"@azure/identity": "^4.5.0",
|
|
76
|
+
"@azure/storage-blob": "^12.26.0",
|
|
77
|
+
"@golemio/errors": "2.0.5-dev.1288217017",
|
|
78
|
+
"@golemio/validator": "0.3.6-dev.1288217736",
|
|
79
79
|
"@google-cloud/storage": "^7.11.0",
|
|
80
80
|
"@opentelemetry/api": "^1.0.4",
|
|
81
81
|
"@opentelemetry/exporter-jaeger": "^1.14.0",
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
},
|
|
132
132
|
"overrides": {
|
|
133
133
|
"dottie": "2.0.4",
|
|
134
|
-
"braces": "3.0.3"
|
|
134
|
+
"braces": "3.0.3",
|
|
135
|
+
"path-to-regexp@<1.0.0": "0.1.11"
|
|
135
136
|
}
|
|
136
137
|
}
|