diff --git a/lampi-siirtaja-container/lampi-siirtaja/package-lock.json b/lampi-siirtaja-container/lampi-siirtaja/package-lock.json index 8b8513e4..3a37901b 100644 --- a/lampi-siirtaja-container/lampi-siirtaja/package-lock.json +++ b/lampi-siirtaja-container/lampi-siirtaja/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "@aws-sdk/client-s3": "^3.715.0", + "@smithy/types": "^3.7.2", "bindings": "^1.5.0", "file-uri-to-path": "^1.0.0", "libpq": "^1.8.13", diff --git a/lampi-siirtaja-container/lampi-siirtaja/package.json b/lampi-siirtaja-container/lampi-siirtaja/package.json index 02218011..acfb58a0 100644 --- a/lampi-siirtaja-container/lampi-siirtaja/package.json +++ b/lampi-siirtaja-container/lampi-siirtaja/package.json @@ -4,6 +4,7 @@ "main": "dist/run.js", "dependencies": { "@aws-sdk/client-s3": "^3.715.0", + "@smithy/types": "^3.7.2", "bindings": "^1.5.0", "file-uri-to-path": "^1.0.0", "libpq": "^1.8.13", diff --git a/lampi-siirtaja-container/lampi-siirtaja/src/run.ts b/lampi-siirtaja-container/lampi-siirtaja/src/run.ts index caf7075a..30f3ed0d 100644 --- a/lampi-siirtaja-container/lampi-siirtaja/src/run.ts +++ b/lampi-siirtaja-container/lampi-siirtaja/src/run.ts @@ -1,11 +1,12 @@ import PgClient from 'pg-native'; - +import { NodeJsClient } from "@smithy/types"; import { S3Client, CopyObjectCommand, ObjectNotInActiveTierError, waitUntilObjectExists, GetObjectCommand, GetObjectCommandOutput, PutObjectCommand, PutObjectCommandOutput, } from '@aws-sdk/client-s3'; +import { Readable } from 'node:stream'; const dbHost = process.env.POSTGRES_HOST; const dbUsername = process.env.DB_USERNAME; @@ -62,8 +63,8 @@ const copyTableToS3 = (schemaName: string, tableName: string) => { } const copyFileToLampi = async (sourceKey: string): Promise => { - const ovaraS3Client: S3Client = new S3Client({}); - const lampiS3Client: S3Client = new S3Client({}); + const ovaraS3Client: S3Client = new S3Client({}) as NodeJsClient; + const lampiS3Client: S3Client = new S3Client({}) as NodeJsClient; const destinationKey = sourceKey; const getObjectCommandOutput: GetObjectCommandOutput = await ovaraS3Client.send( @@ -73,13 +74,15 @@ const copyFileToLampi = async (sourceKey: string): Promise => { }), ); - const bodyString: string = await getObjectCommandOutput.Body.transformToString(); + //const bodyString: string = await getObjectCommandOutput.Body.transformToString(); const putObjectCommandOutput: PutObjectCommandOutput = await lampiS3Client.send( new PutObjectCommand({ Bucket: lampiS3Bucket, Key: destinationKey, - Body: bodyString + Body: getObjectCommandOutput.Body, + ContentLength: getObjectCommandOutput.ContentLength + //Body: bodyString }) );