|
1 |
| -import zlib from 'zlib.js'; |
2 |
| -import { S3 } from "@aws-sdk/client-s3"; |
3 |
| -import each from 'lodash/each.js'; |
4 |
| -import constants from './cloud_trail_event_config.js'; |
5 |
| -import AutotagFactory from './autotag_factory.js'; |
6 |
| -import SETTINGS from './autotag_settings.js'; |
| 1 | +import zlib from 'zlib'; |
| 2 | +import { GetObjectCommand, S3 } from '@aws-sdk/client-s3'; |
| 3 | +import each from 'lodash/each'; |
| 4 | +import constants from './cloud_trail_event_config'; |
| 5 | +import AutotagFactory from './autotag_factory'; |
| 6 | +import SETTINGS from './autotag_settings'; |
7 | 7 |
|
8 | 8 | class AwsCloudTrailLogListener {
|
9 | 9 | constructor(cloudtrailEvent, applicationContext, enabledServices) {
|
@@ -94,16 +94,18 @@ class AwsCloudTrailLogListener {
|
94 | 94 | return rawContent;
|
95 | 95 | }
|
96 | 96 |
|
97 |
| - retrieveFromS3(logFile) { |
98 |
| - return new Promise((resolve, reject) => { |
99 |
| - this.s3.getObject(logFile, (err, res) => { |
100 |
| - if (err) { |
101 |
| - reject(err); |
102 |
| - } else { |
103 |
| - resolve(res.Body); |
104 |
| - } |
105 |
| - }); |
| 97 | + async retrieveFromS3(logFile) { |
| 98 | + const getObjectCommand = new GetObjectCommand(logFile); |
| 99 | + const { Body } = await this.s3.send(getObjectCommand); |
| 100 | + |
| 101 | + const streamToString = new Promise((resolve, reject) => { |
| 102 | + const chunks = []; |
| 103 | + Body.on('error', reject); |
| 104 | + Body.on('data', chunk => chunks.push(chunk)); |
| 105 | + Body.on('end', () => resolve(Buffer.concat(chunks))); |
106 | 106 | });
|
| 107 | + |
| 108 | + return streamToString; |
107 | 109 | }
|
108 | 110 |
|
109 | 111 | unGzipContent(zippedContent) {
|
|
0 commit comments