2017-11-22 5 views
0

내 유성 앱에서 내 s3 버킷에 이미지를 업로드 할 수 있으며 이제이를 제거하려고합니다.s3에서 파일을 삭제하는 방법 : Meteor and aws-sdk

import AWS from 'aws-sdk; 

그리고이 코드 : 나는 함께 AWS-SDK를 사용하고, 그렇게하려면

TypeError: stream.setTimeout is not a function 
    at features.constructor.handleRequest (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:178932) 
    at executeSend (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174057) 
    at Request.SEND (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174071) 
    at Request.callListeners (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:173612) 
    at Request.emit (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:173588) 
    at Request.emit (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175024) 
    at Request.transition (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174363) 
    at AcceptorStateMachine.runTo (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175171) 
    at modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175183 
    at Request.<anonymous> (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174379) 

나는 '돈 : 내가이 오류 메시지가 작동하지 않습니다

AWS.config.update({ 
     accessKeyId: accessKeyId, 
     secretAccessKey: secretAccessKey, 
     region: region 
     }); 

    let s3 = new AWS.S3(); 

    let params = { 
    Bucket: 'aaaa', // bucket 'name' 
    Key: 'images/qqwd468767-9awdw' // 'path/imageKey' 
    }; 

    console.log(params); // {Bucket: 'aaaa', Key: images/qqwd468767-9awdw } 

    Meteor.wrapAsync(
    s3.deleteObject(params, function (error, data) { 
     if (error) { 
     console.log(error); 
     } else { 
     console.log(data); 
     } 
    }) 
    ); 

그것이 Meteor 또는 나의 코드 때문에 인 경우에 얻지 말라. 내 CORS 구성에 추가하려고했는데 : <AllowedMethod>DELETE</AllowedMethod> 삭제를 허용하는 것이 바람직하지만 여전히 작동하지 않기 때문입니다.

답변

0

헤이 파일을

delete_s3: function(key) { 
    const AWS = require('aws-sdk'); 
    AWS.config.update({accessKeyId: Meteor.settings.private.s3.AccessKey, secretAccessKey: Meteor.settings.private.s3.SecretKey, region: Meteor.settings.private.s3.region}); 
    var s3 = new AWS.S3(); 
    var params = { 
     Bucket: Meteor.settings.private.s3.bucket, 
     Key: key 
    }; 
    var deleteObject = Meteor.wrapAsync(s3.deleteObject(params, function(error, data) { 
     if (error) { 
     console.log(error); 
     } else { 
     console.log(data); 
     } 
    })); } 
을 삭제하려면이 유성 방법을 시도