NodeJS - чтение файла из S3 в папку / tmp в Lambda - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно переместить файл *.dbf для дальнейшей обработки из корзины S3 в папку /tmp в Lambda.Пока файл перемещается, но содержимое файла повреждено, что я делаю не так?

exports.getS3Object = ( bucket, key ) => {

  return S3Client.getObject( {

    Bucket              : bucket,
    Key                 : key
  } )
  .promise( )
  .then( file => {

    console.log( 'File loading ', key );
    if ( ! fs.existsSync( '/tmp' ) ) {

      fs.mkdirSync( '/tmp' );
    }
    fs.writeFileSync( '/tmp/' + key, file.Body.toString( 'utf8' ), ( error ) => {

      throw error;  
    } ); 
    return '/tmp/' + key;
  } )
  .catch( error => {

    // file not found
    return error;
  } );
};

1 Ответ

0 голосов
/ 26 октября 2018

Ваш dbf файл, вероятно, не закодирован как строка utf8.Попробуйте кодировать base64 или binary при вызове file.Body.toString.

...