s3 버킷에서 s3로 다시 .zip 파일을 압축 해제하는 방법

4947 단어 nodes3typescriptaws

문제


  • s3 버킷에서 제공된 .zip 파일을 가져오고 추출된 폴더와 해당 콘텐츠를 다시 s3 버킷에 업로드합니다
  • .

    해결책


  • s3에서 .zip 파일을 가져오고 스트림을 생성하는 npm 패키지를 구축하여 추출된 콘텐츠로 원하는 모든 작업을 수행할 수 있습니다.
  • 더 많은 것을 확인하고 패키지에 기여할 수 있습니다: s3-zip-handler

  • 내장 가능성



  • 추출된 폴더를 s3 버킷으로 다시 보내기

  • 
    import AWS from 'aws-sdk'
    import s3ZipHandler, { IS3ZipFileParams } from 's3-zip-handler'
    
    const s3Client = new AWS.S3({
    ...your s3 settings
    })
    
    
    const s3Config: IS3ZipFileParams = {
        s3Client,
        bucket: 'your-s3-bucket',
        key: 'your-s3-key/your-zip-file.zip',
        params: {
          ACL: 'public-read',
          ContentDisposition: 'inline'
        }
    } 
    
    const {
    localPath, 
    uploadedPath 
    } = await s3ZipHandler.decompressToKeyFolderS3(s3Config)
    
    // localPath = 'os-tmp/unzipped-xxxx/your-zip-file'
    // uploadedPath  = 'your-s3-bucket/your-s3-key/your-zip-file'
    
    



  • 추출된 폴더를 로컬로 조작

  • import s3ZipHandler from 's3-zip-handler'
    import AWS from 'aws-sdk'
    
    const s3Client = new AWS.S3({
        ...your s3 settings
    })
    
    const s3Config = {
        s3Client,
        bucket: 'your-s3-bucket',
        key: 'your-s3-key/your-zip-file.zip'
    } 
    
    const {
     localPath
     } = await s3ZipHandler.decompressLocal(s3Config, 'path-to-extract')
    
    // localPath = 'path-to-extract/your-zip-file'
    
    
    

    좋은 웹페이지 즐겨찾기