Iv looked all over AWS docks and stack overflow (even went to page 4 of google!!!) but i cannot for the life of me work out how to stream a file from S3. The docs for V3 are pretty useless and all the examples i find are from V2.
The send commond that V3 uses only returns a promise so how do i get a stream and pipe it instead of waiting for the whole file (it needs to be piped into encryption algo then to a response stream)
this.s3.send(
  new GetObjectCommand({
    Bucket: '...',
    Key: key,
  }),
);
I was able to upload fine by passing the stream as the body, is there something i have to do similar here?
  uploadToAws(key) {
    const pass = new PassThrough();
    return {
      writeStream: pass,
      promise: this.s3.send(
        new PutObjectCommand({
          Bucket: '...',
          Key: key,
          Body: pass,
          ServerSideEncryption: '...',
          ContentLength: 37,
        }),
      ),
    };
  }