diff --git a/infrastructure/terraform/components/dl/module_lambda_pdm_uploader.tf b/infrastructure/terraform/components/dl/module_lambda_pdm_uploader.tf index 6c4f7e8a4..f9181e330 100644 --- a/infrastructure/terraform/components/dl/module_lambda_pdm_uploader.tf +++ b/infrastructure/terraform/components/dl/module_lambda_pdm_uploader.tf @@ -24,7 +24,7 @@ module "pdm_uploader" { function_include_common = true handler_function_name = "handler" runtime = "nodejs22.x" - memory = 256 + memory = 512 timeout = var.lambda_timeout_seconds log_level = var.log_level diff --git a/utils/utils/src/s3-utils/get-object-s3.ts b/utils/utils/src/s3-utils/get-object-s3.ts index 8d541ed3f..c66d130a6 100644 --- a/utils/utils/src/s3-utils/get-object-s3.ts +++ b/utils/utils/src/s3-utils/get-object-s3.ts @@ -1,4 +1,5 @@ import { type Readable } from 'node:stream'; +import { StringDecoder } from 'node:string_decoder'; import { GetObjectCommand, GetObjectCommandOutput, @@ -36,12 +37,13 @@ export interface S3Location { async function streamToString(Body: Readable) { return new Promise((resolve, reject) => { - const chunks: Buffer[] = []; - Body.on('data', (chunk: ArrayBuffer | SharedArrayBuffer) => - chunks.push(Buffer.from(chunk)), - ); + const decoder = new StringDecoder('utf8'); + let result = ''; + Body.on('data', (chunk: Buffer) => { + result += decoder.write(chunk); + }); Body.on('error', (err) => reject(err)); - Body.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))); + Body.on('end', () => resolve(result + decoder.end())); }); }