@l-v-yonsama/multi-platform-database-drivers 0.1.34 → 0.1.35
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/built/src/drivers/AwsBaseDriver.d.ts +24 -0
- package/built/src/drivers/AwsBaseDriver.js +89 -0
- package/built/src/drivers/AwsBaseDriver.js.map +1 -0
- package/built/src/drivers/AwsCloudwatchDriver.d.ts +28 -0
- package/built/src/drivers/AwsCloudwatchDriver.js +192 -0
- package/built/src/drivers/AwsCloudwatchDriver.js.map +1 -0
- package/built/src/drivers/AwsS3Driver.d.ts +13 -10
- package/built/src/drivers/AwsS3Driver.js +37 -44
- package/built/src/drivers/AwsS3Driver.js.map +1 -1
- package/built/src/drivers/AwsSQSDriver.d.ts +21 -14
- package/built/src/drivers/AwsSQSDriver.js +50 -54
- package/built/src/drivers/AwsSQSDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.d.ts +9 -2
- package/built/src/drivers/BaseDriver.js +18 -1
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js +4 -0
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/MySQLDriver.js +30 -33
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.js +18 -26
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RedisDriver.d.ts +4 -4
- package/built/src/drivers/RedisDriver.js +16 -6
- package/built/src/drivers/RedisDriver.js.map +1 -1
- package/built/src/drivers/index.d.ts +1 -0
- package/built/src/drivers/index.js +1 -0
- package/built/src/drivers/index.js.map +1 -1
- package/built/src/example.d.ts +1 -0
- package/built/src/example.js +25 -0
- package/built/src/example.js.map +1 -0
- package/built/src/resource/DbResource.d.ts +37 -27
- package/built/src/resource/DbResource.js +10 -123
- package/built/src/resource/DbResource.js.map +1 -1
- package/built/src/resource/ResultSetDataHolder.d.ts +0 -2
- package/built/src/resource/ResultSetDataHolder.js +1 -14
- package/built/src/resource/ResultSetDataHolder.js.map +1 -1
- package/built/src/types/AwsSQSAttributes.d.ts +18 -0
- package/built/src/types/AwsSQSAttributes.js +3 -0
- package/built/src/types/AwsSQSAttributes.js.map +1 -0
- package/built/src/types/DBType.d.ts +1 -2
- package/built/src/types/DBType.js +2 -15
- package/built/src/types/DBType.js.map +1 -1
- package/built/src/types/RedisKeyType.d.ts +1 -0
- package/built/src/types/RedisKeyType.js +2 -1
- package/built/src/types/RedisKeyType.js.map +1 -1
- package/built/src/types/ScanParams.d.ts +1 -2
- package/built/src/types/index.d.ts +1 -0
- package/built/src/types/index.js +1 -0
- package/built/src/types/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseDriver } from './BaseDriver';
|
|
2
|
+
import { DbConnection } from '../resource';
|
|
3
|
+
import { AwsCredentialIdentityProvider, AwsCredentialIdentity } from '@aws-sdk/types';
|
|
4
|
+
export declare const sleep: (ms: number) => Promise<void>;
|
|
5
|
+
export interface Destroyable {
|
|
6
|
+
destroy(): void;
|
|
7
|
+
}
|
|
8
|
+
export type CliendConfigType = {
|
|
9
|
+
region?: string;
|
|
10
|
+
endpoint?: string;
|
|
11
|
+
credentials: AwsCredentialIdentityProvider | AwsCredentialIdentity;
|
|
12
|
+
};
|
|
13
|
+
export declare abstract class AwsBaseDriver extends BaseDriver {
|
|
14
|
+
constructor(conRes: DbConnection);
|
|
15
|
+
protected createClientConfig(): CliendConfigType;
|
|
16
|
+
private createAwsCredential;
|
|
17
|
+
test(with_connect?: boolean): Promise<string>;
|
|
18
|
+
protected abstract testSub(): Promise<string>;
|
|
19
|
+
protected abstract getClient(): Destroyable;
|
|
20
|
+
closeSub(): Promise<string>;
|
|
21
|
+
protected toNum(s: string | undefined): number | undefined;
|
|
22
|
+
protected toBoolean(s: string | undefined): boolean | undefined;
|
|
23
|
+
protected toDate(s: string | number | undefined): Date | undefined;
|
|
24
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsBaseDriver = exports.sleep = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
6
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
7
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
8
|
+
const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
|
|
9
|
+
exports.sleep = sleep;
|
|
10
|
+
class AwsBaseDriver extends BaseDriver_1.BaseDriver {
|
|
11
|
+
constructor(conRes) {
|
|
12
|
+
super(conRes);
|
|
13
|
+
}
|
|
14
|
+
createClientConfig() {
|
|
15
|
+
const { region, url } = this.conRes;
|
|
16
|
+
return {
|
|
17
|
+
region,
|
|
18
|
+
endpoint: url,
|
|
19
|
+
credentials: this.createAwsCredential(),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
createAwsCredential() {
|
|
23
|
+
const { awsProfile, user, password } = this.conRes;
|
|
24
|
+
if (awsProfile && awsProfile.use) {
|
|
25
|
+
return (0, credential_providers_1.fromIni)(awsProfile.init);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
accessKeyId: user,
|
|
29
|
+
secretAccessKey: password,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
test(with_connect = false) {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
let errorReason = '';
|
|
35
|
+
if (with_connect) {
|
|
36
|
+
errorReason = yield this.connect();
|
|
37
|
+
}
|
|
38
|
+
if (!errorReason) {
|
|
39
|
+
try {
|
|
40
|
+
errorReason = yield this.testSub();
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
errorReason = e.message;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (with_connect) {
|
|
47
|
+
yield this.disconnect();
|
|
48
|
+
}
|
|
49
|
+
return errorReason;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
closeSub() {
|
|
53
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const client = this.getClient();
|
|
55
|
+
if (client) {
|
|
56
|
+
client.destroy();
|
|
57
|
+
}
|
|
58
|
+
return '';
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
toNum(s) {
|
|
62
|
+
if (s === null || s === undefined || s.trim().length === 0) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const n = Number(s);
|
|
66
|
+
if (isNaN(n)) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
return n;
|
|
70
|
+
}
|
|
71
|
+
toBoolean(s) {
|
|
72
|
+
if (s === null || s === undefined) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
return 'true' === s.toLowerCase();
|
|
76
|
+
}
|
|
77
|
+
toDate(s) {
|
|
78
|
+
if (s === null || s === undefined) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
if (typeof s === 'number') {
|
|
82
|
+
return new Date(s);
|
|
83
|
+
}
|
|
84
|
+
const r = (0, dayjs_1.default)(s).toDate();
|
|
85
|
+
return r;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.AwsBaseDriver = AwsBaseDriver;
|
|
89
|
+
//# sourceMappingURL=AwsBaseDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsBaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsBaseDriver.ts"],"names":[],"mappings":";;;;AAGA,6CAA0C;AAO1C,wEAAwD;AACxD,0DAA0B;AAEnB,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAD/B,QAAA,KAAK,SAC0B;AAiB5C,MAAsB,aAAc,SAAQ,uBAAU;IACpD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAES,kBAAkB;QAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE;SACxC,CAAC;IACJ,CAAC;IAEO,mBAAmB;QAGzB,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACnD,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE;YAChC,OAAO,IAAA,8BAAO,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAEK,IAAI,CAAC,YAAY,GAAG,KAAK;;YAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC;YACD,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI;oBACF,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;iBACpC;gBAAC,OAAO,CAAC,EAAE;oBACV,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;iBACzB;aACF;YAED,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aACzB;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAMK,QAAQ;;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,CAAC;aAClB;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAES,KAAK,CAAC,CAAqB;QACnC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACZ,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAES,SAAS,CAAC,CAAqB;QACvC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,MAAM,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAES,MAAM,CAAC,CAA8B;QAC7C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACzB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,MAAM,CAAC,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AA3FD,sCA2FC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Scannable } from './BaseDriver';
|
|
2
|
+
import { DbConnection, DbDatabase, DbKey, LogMessageParams, ResultSetDataHolder } from '../resource';
|
|
3
|
+
import { ScanParams } from '../types';
|
|
4
|
+
import { CloudWatchLogsClient, GetQueryResultsCommandOutput, LogStream, QueryDefinition, StartQueryCommandInput } from '@aws-sdk/client-cloudwatch-logs';
|
|
5
|
+
import { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
|
|
6
|
+
export declare class AwsCloudwatchDriver extends AwsBaseDriver implements Scannable {
|
|
7
|
+
logClient: CloudWatchLogsClient;
|
|
8
|
+
constructor(conRes: DbConnection);
|
|
9
|
+
connectSub(): Promise<string>;
|
|
10
|
+
testSub(): Promise<string>;
|
|
11
|
+
getLogEvents(params: {
|
|
12
|
+
logGroupName: string;
|
|
13
|
+
logStreamName: string;
|
|
14
|
+
startTime?: number;
|
|
15
|
+
limit?: number;
|
|
16
|
+
}): Promise<DbKey<LogMessageParams>[]>;
|
|
17
|
+
query(params: StartQueryCommandInput): Promise<GetQueryResultsCommandOutput>;
|
|
18
|
+
scan(params: ScanParams & {
|
|
19
|
+
startTime: number;
|
|
20
|
+
endTime: number;
|
|
21
|
+
}): Promise<ResultSetDataHolder>;
|
|
22
|
+
getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
23
|
+
getLogStreams({ logGroupName, }: {
|
|
24
|
+
logGroupName: string;
|
|
25
|
+
}): Promise<LogStream[]>;
|
|
26
|
+
getQueries(): Promise<QueryDefinition[]>;
|
|
27
|
+
protected getClient(): Destroyable;
|
|
28
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsCloudwatchDriver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const resource_1 = require("../resource");
|
|
6
|
+
const types_1 = require("../types");
|
|
7
|
+
const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
|
|
8
|
+
const AwsBaseDriver_1 = require("./AwsBaseDriver");
|
|
9
|
+
class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
10
|
+
constructor(conRes) {
|
|
11
|
+
super(conRes);
|
|
12
|
+
}
|
|
13
|
+
connectSub() {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
this.logClient = new client_cloudwatch_logs_1.CloudWatchLogsClient(this.createClientConfig());
|
|
16
|
+
return this.test(false);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
testSub() {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
let errorReason = '';
|
|
22
|
+
if (this.logClient) {
|
|
23
|
+
try {
|
|
24
|
+
yield this.logClient.send(new client_cloudwatch_logs_1.DescribeLogGroupsCommand({
|
|
25
|
+
limit: 1,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
errorReason = e.message;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return errorReason;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
getLogEvents(params) {
|
|
36
|
+
var _a;
|
|
37
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
const list = [];
|
|
39
|
+
const { logGroupName, logStreamName, startTime } = params;
|
|
40
|
+
const requiredLimit = (_a = params.limit) !== null && _a !== void 0 ? _a : 100;
|
|
41
|
+
let nextToken = undefined;
|
|
42
|
+
do {
|
|
43
|
+
const limit = Math.min(requiredLimit - list.length, 10000);
|
|
44
|
+
const result = yield this.logClient.send(new client_cloudwatch_logs_1.GetLogEventsCommand({
|
|
45
|
+
logGroupName,
|
|
46
|
+
logStreamName,
|
|
47
|
+
limit,
|
|
48
|
+
startTime,
|
|
49
|
+
nextToken,
|
|
50
|
+
}));
|
|
51
|
+
console.log('ev=', result.events);
|
|
52
|
+
list.push(...result.events);
|
|
53
|
+
if (nextToken === result.nextForwardToken) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
if (list.length >= limit) {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
nextToken = result.nextForwardToken;
|
|
60
|
+
} while (nextToken);
|
|
61
|
+
return list.map((it) => {
|
|
62
|
+
const params = {
|
|
63
|
+
message: it.message,
|
|
64
|
+
};
|
|
65
|
+
return new resource_1.DbKey(new Date(it.timestamp).toLocaleDateString(), params);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
query(params) {
|
|
70
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const { queryId } = yield this.logClient.send(new client_cloudwatch_logs_1.StartQueryCommand(params));
|
|
72
|
+
let status = client_cloudwatch_logs_1.QueryStatus.Scheduled;
|
|
73
|
+
let results;
|
|
74
|
+
while (status === client_cloudwatch_logs_1.QueryStatus.Running || status === client_cloudwatch_logs_1.QueryStatus.Scheduled) {
|
|
75
|
+
yield (0, AwsBaseDriver_1.sleep)(1500);
|
|
76
|
+
results = yield this.logClient.send(new client_cloudwatch_logs_1.GetQueryResultsCommand({
|
|
77
|
+
queryId,
|
|
78
|
+
}));
|
|
79
|
+
status = results.status;
|
|
80
|
+
if (status === client_cloudwatch_logs_1.QueryStatus.Complete ||
|
|
81
|
+
status === client_cloudwatch_logs_1.QueryStatus.Cancelled ||
|
|
82
|
+
status === client_cloudwatch_logs_1.QueryStatus.Failed) {
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return results;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
scan(params) {
|
|
90
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const { target, keyword, startTime, endTime, limit } = params;
|
|
92
|
+
const { status, results } = yield this.query({
|
|
93
|
+
logGroupName: target,
|
|
94
|
+
queryString: keyword,
|
|
95
|
+
startTime,
|
|
96
|
+
endTime,
|
|
97
|
+
limit,
|
|
98
|
+
});
|
|
99
|
+
if (status === client_cloudwatch_logs_1.QueryStatus.Cancelled) {
|
|
100
|
+
throw new Error('StartQueryCommand Cancelled');
|
|
101
|
+
}
|
|
102
|
+
if (status === client_cloudwatch_logs_1.QueryStatus.Failed) {
|
|
103
|
+
throw new Error('StartQueryCommand Failed');
|
|
104
|
+
}
|
|
105
|
+
if (!results || results.length === 0) {
|
|
106
|
+
return resource_1.ResultSetDataHolder.createEmpty();
|
|
107
|
+
}
|
|
108
|
+
const keys = results[0]
|
|
109
|
+
.filter((it) => it.field !== undefined && it.field !== '@ptr')
|
|
110
|
+
.map((it) => new resource_1.RdhKey(it.field, types_1.GeneralColumnType.TEXT));
|
|
111
|
+
const rdh = new resource_1.ResultSetDataHolder(keys);
|
|
112
|
+
results.forEach((rowResult) => {
|
|
113
|
+
const values = {};
|
|
114
|
+
rowResult.forEach((it) => {
|
|
115
|
+
values[it.field] = it.value;
|
|
116
|
+
});
|
|
117
|
+
rdh.addRow(values);
|
|
118
|
+
});
|
|
119
|
+
return rdh;
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
getInfomationSchemas() {
|
|
123
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
if (!this.conRes) {
|
|
125
|
+
return [];
|
|
126
|
+
}
|
|
127
|
+
const dbResources = new Array();
|
|
128
|
+
const dbDatabase = new resource_1.DbDatabase('Cloudwatch');
|
|
129
|
+
dbResources.push(dbDatabase);
|
|
130
|
+
try {
|
|
131
|
+
let nextToken = undefined;
|
|
132
|
+
do {
|
|
133
|
+
const result = yield this.logClient.send(new client_cloudwatch_logs_1.DescribeLogGroupsCommand({ limit: 50, nextToken }));
|
|
134
|
+
if (result.logGroups) {
|
|
135
|
+
for (const logGroup of result.logGroups) {
|
|
136
|
+
const dbQueue = new resource_1.DbLogGroup(logGroup.logGroupName, new Date(logGroup.creationTime), logGroup.storedBytes);
|
|
137
|
+
dbDatabase.addChild(dbQueue);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
nextToken = result.nextToken;
|
|
141
|
+
} while (nextToken);
|
|
142
|
+
dbDatabase.comment = `${dbDatabase.getChildren().length} groups`;
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
console.error(e);
|
|
146
|
+
}
|
|
147
|
+
return dbResources;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
getLogStreams({ logGroupName, }) {
|
|
151
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
let nextToken = undefined;
|
|
153
|
+
const list = [];
|
|
154
|
+
do {
|
|
155
|
+
const result = yield this.logClient.send(new client_cloudwatch_logs_1.DescribeLogStreamsCommand({
|
|
156
|
+
logGroupName,
|
|
157
|
+
descending: true,
|
|
158
|
+
orderBy: 'LastEventTime',
|
|
159
|
+
limit: 50,
|
|
160
|
+
nextToken,
|
|
161
|
+
}));
|
|
162
|
+
if (result.logStreams) {
|
|
163
|
+
list.push(...result.logStreams);
|
|
164
|
+
}
|
|
165
|
+
nextToken = result.nextToken;
|
|
166
|
+
} while (nextToken);
|
|
167
|
+
return list;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
getQueries() {
|
|
171
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
let nextToken = undefined;
|
|
173
|
+
const list = [];
|
|
174
|
+
do {
|
|
175
|
+
const result = yield this.logClient.send(new client_cloudwatch_logs_1.DescribeQueryDefinitionsCommand({
|
|
176
|
+
maxResults: 100,
|
|
177
|
+
nextToken,
|
|
178
|
+
}));
|
|
179
|
+
if (result.queryDefinitions) {
|
|
180
|
+
list.push(...result.queryDefinitions);
|
|
181
|
+
}
|
|
182
|
+
nextToken = result.nextToken;
|
|
183
|
+
} while (nextToken);
|
|
184
|
+
return list;
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
getClient() {
|
|
188
|
+
return this.logClient;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
exports.AwsCloudwatchDriver = AwsCloudwatchDriver;
|
|
192
|
+
//# sourceMappingURL=AwsCloudwatchDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsCloudwatchDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsCloudwatchDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { PutObjectCommandInput, S3Client
|
|
2
|
-
import {
|
|
1
|
+
import { PutObjectCommandInput, S3Client } from '@aws-sdk/client-s3';
|
|
2
|
+
import { Scannable } from './BaseDriver';
|
|
3
3
|
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, S3KeyParams } from '../resource';
|
|
4
4
|
import { ScanParams } from '../types';
|
|
5
|
-
|
|
5
|
+
import { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
|
|
6
|
+
export declare class AwsS3Driver extends AwsBaseDriver implements Scannable {
|
|
6
7
|
s3Client: S3Client;
|
|
7
|
-
finder: any;
|
|
8
|
-
config: S3ClientConfig;
|
|
9
8
|
constructor(conRes: DbConnection);
|
|
10
9
|
connectSub(): Promise<string>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
testSub(): Promise<string>;
|
|
11
|
+
listObjects({ bucket, prefix, limit, withValue, }: {
|
|
12
|
+
bucket: string;
|
|
13
|
+
prefix: string;
|
|
14
|
+
limit: number;
|
|
15
|
+
withValue: boolean;
|
|
16
|
+
}): Promise<DbKey<S3KeyParams>[]>;
|
|
17
|
+
scan(params: ScanParams): Promise<ResultSetDataHolder>;
|
|
14
18
|
getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
15
|
-
requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
16
19
|
createBucket({ bucket }: {
|
|
17
20
|
bucket: string;
|
|
18
21
|
}): Promise<void>;
|
|
@@ -31,5 +34,5 @@ export declare class AwsS3Driver extends BaseDriver {
|
|
|
31
34
|
removeAllObjects({ bucket }: {
|
|
32
35
|
bucket: string;
|
|
33
36
|
}): Promise<void>;
|
|
34
|
-
|
|
37
|
+
protected getClient(): Destroyable;
|
|
35
38
|
}
|
|
@@ -3,66 +3,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AwsS3Driver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
6
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
7
6
|
const resource_1 = require("../resource");
|
|
8
7
|
const types_1 = require("../types");
|
|
9
|
-
|
|
8
|
+
const AwsBaseDriver_1 = require("./AwsBaseDriver");
|
|
9
|
+
class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
10
10
|
constructor(conRes) {
|
|
11
11
|
super(conRes);
|
|
12
12
|
}
|
|
13
13
|
connectSub() {
|
|
14
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
|
|
16
|
-
this.config.region = 'us-west-1';
|
|
17
|
-
if (this.conRes.region) {
|
|
18
|
-
this.config.region = this.conRes.region;
|
|
19
|
-
}
|
|
20
|
-
this.config.credentials = {
|
|
21
|
-
accessKeyId: this.conRes.user,
|
|
22
|
-
secretAccessKey: this.conRes.password,
|
|
23
|
-
};
|
|
15
|
+
const config = Object.assign({}, this.createClientConfig());
|
|
24
16
|
if (this.conRes.dbType === types_1.DBType.Minio) {
|
|
25
|
-
|
|
26
|
-
this.config.s3ForcePathStyle = 'true';
|
|
17
|
+
config.s3ForcePathStyle = 'true';
|
|
27
18
|
}
|
|
28
|
-
this.s3Client = new client_s3_1.S3Client(
|
|
19
|
+
this.s3Client = new client_s3_1.S3Client(config);
|
|
29
20
|
return this.test(false);
|
|
30
21
|
});
|
|
31
22
|
}
|
|
32
|
-
|
|
23
|
+
testSub() {
|
|
33
24
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
25
|
let errorReason = '';
|
|
35
|
-
if (with_connect) {
|
|
36
|
-
errorReason = yield this.connect();
|
|
37
|
-
}
|
|
38
26
|
if (this.s3Client) {
|
|
39
27
|
try {
|
|
40
|
-
|
|
28
|
+
yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
41
29
|
}
|
|
42
30
|
catch (e) {
|
|
43
31
|
console.error(e);
|
|
44
32
|
errorReason = e.message;
|
|
45
33
|
}
|
|
46
34
|
}
|
|
47
|
-
if (with_connect) {
|
|
48
|
-
yield this.disconnect();
|
|
49
|
-
}
|
|
50
35
|
return errorReason;
|
|
51
36
|
});
|
|
52
37
|
}
|
|
53
|
-
|
|
54
|
-
if (this.finder) {
|
|
55
|
-
this.finder.abort();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
scan(params) {
|
|
38
|
+
listObjects({ bucket, prefix, limit, withValue, }) {
|
|
59
39
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const { target, limit, keyword, withValue } = params;
|
|
61
40
|
let truncated = true;
|
|
62
41
|
let pageMarker;
|
|
63
42
|
const bucketParams = {
|
|
64
|
-
Bucket:
|
|
65
|
-
Prefix:
|
|
43
|
+
Bucket: bucket,
|
|
44
|
+
Prefix: prefix,
|
|
66
45
|
};
|
|
67
46
|
const list = [];
|
|
68
47
|
while (truncated) {
|
|
@@ -92,7 +71,7 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
92
71
|
if (withValue) {
|
|
93
72
|
const promises = list.map((it) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
73
|
it.params.base64 = yield this.getValueByKey({
|
|
95
|
-
bucket
|
|
74
|
+
bucket,
|
|
96
75
|
key: it.name,
|
|
97
76
|
});
|
|
98
77
|
}));
|
|
@@ -101,6 +80,30 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
101
80
|
return list;
|
|
102
81
|
});
|
|
103
82
|
}
|
|
83
|
+
scan(params) {
|
|
84
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
const { target, limit, keyword, withValue } = params;
|
|
86
|
+
const list = yield this.listObjects({
|
|
87
|
+
bucket: target,
|
|
88
|
+
prefix: keyword,
|
|
89
|
+
limit,
|
|
90
|
+
withValue,
|
|
91
|
+
});
|
|
92
|
+
const rdh = new resource_1.ResultSetDataHolder([
|
|
93
|
+
new resource_1.RdhKey('key', types_1.GeneralColumnType.TEXT),
|
|
94
|
+
new resource_1.RdhKey('size', types_1.GeneralColumnType.INTEGER),
|
|
95
|
+
new resource_1.RdhKey('etag', types_1.GeneralColumnType.TEXT),
|
|
96
|
+
new resource_1.RdhKey('storageClass', types_1.GeneralColumnType.TEXT),
|
|
97
|
+
new resource_1.RdhKey('lastModified', types_1.GeneralColumnType.TIMESTAMP),
|
|
98
|
+
new resource_1.RdhKey('value', types_1.GeneralColumnType.UNKNOWN),
|
|
99
|
+
]);
|
|
100
|
+
list.forEach((dbKey) => {
|
|
101
|
+
var _a;
|
|
102
|
+
rdh.addRow(Object.assign(Object.assign({}, dbKey.params), { key: dbKey.getName(), value: (_a = dbKey.params) === null || _a === void 0 ? void 0 : _a.base64 }));
|
|
103
|
+
});
|
|
104
|
+
return rdh;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
104
107
|
getInfomationSchemas() {
|
|
105
108
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
109
|
if (!this.conRes) {
|
|
@@ -130,11 +133,6 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
130
133
|
return dbResources;
|
|
131
134
|
});
|
|
132
135
|
}
|
|
133
|
-
requestSql(sql, options) {
|
|
134
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
return new resource_1.ResultSetDataHolder([]);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
136
|
createBucket({ bucket }) {
|
|
139
137
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
140
138
|
yield this.s3Client.send(new client_s3_1.CreateBucketCommand({ Bucket: bucket }));
|
|
@@ -186,13 +184,8 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
186
184
|
}
|
|
187
185
|
});
|
|
188
186
|
}
|
|
189
|
-
|
|
190
|
-
return
|
|
191
|
-
if (this.s3Client) {
|
|
192
|
-
this.s3Client.destroy();
|
|
193
|
-
}
|
|
194
|
-
return '';
|
|
195
|
-
});
|
|
187
|
+
getClient() {
|
|
188
|
+
return this.s3Client;
|
|
196
189
|
}
|
|
197
190
|
}
|
|
198
191
|
exports.AwsS3Driver = AwsS3Driver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../src/drivers/AwsS3Driver.ts"],"names":[],"mappings":";;;;AAGA,kDAY4B;
|
|
1
|
+
{"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../src/drivers/AwsS3Driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams
|
|
1
|
+
import { ReceiveMessageCommandInput, SQSClient } from '@aws-sdk/client-sqs';
|
|
2
|
+
import { Scannable } from './BaseDriver';
|
|
3
|
+
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams } from '../resource';
|
|
4
4
|
import { ScanParams } from '../types';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { AwsSQSAttributes } from '../types/AwsSQSAttributes';
|
|
6
|
+
import { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
|
|
7
|
+
export declare class AwsSQSDriver extends AwsBaseDriver implements Scannable {
|
|
7
8
|
sqsClient: SQSClient;
|
|
8
|
-
finder: any;
|
|
9
|
-
config: SQSClientConfig;
|
|
10
9
|
constructor(conRes: DbConnection);
|
|
11
10
|
connectSub(): Promise<string>;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
scan(params: ScanParams): Promise<
|
|
11
|
+
testSub(): Promise<string>;
|
|
12
|
+
receiveMessages(params: ReceiveMessageCommandInput): Promise<DbKey<SQSMessageParams>[]>;
|
|
13
|
+
scan(params: ScanParams): Promise<ResultSetDataHolder>;
|
|
15
14
|
getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
16
|
-
|
|
17
|
-
createQueue({ name }: {
|
|
15
|
+
private toAttributes;
|
|
16
|
+
createQueue({ name, attributes, }: {
|
|
18
17
|
name: string;
|
|
18
|
+
attributes?: AwsSQSAttributes;
|
|
19
|
+
}): Promise<string>;
|
|
20
|
+
deleteQueue({ url }: {
|
|
21
|
+
url: string;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
purgeQueue({ url }: {
|
|
24
|
+
url: string;
|
|
19
25
|
}): Promise<void>;
|
|
20
|
-
|
|
26
|
+
deleteMessage({ url, receiptHandle, }: {
|
|
21
27
|
url: string;
|
|
28
|
+
receiptHandle: string;
|
|
22
29
|
}): Promise<void>;
|
|
23
|
-
|
|
30
|
+
protected getClient(): Destroyable;
|
|
24
31
|
}
|