接收502错误的网关响应代码-AWS

时间:2019-07-14 21:49:38

标签: node.js amazon-web-services amazon-s3

我正在尝试构建托管在 AWS Lambda 上的NodeJS代码,以从 S3存储桶中删除文件。
我的功能如下:

export function main(event, context, callback) {
   var bucketInstance = new AWS.S3({
      region: 'us-east-1'
   });

   const data = JSON.parse(JSON.stringify(event.body));

   var pathArray = data.attachmentURL.split('/');
   let KeyValue = decodeURIComponent(pathArray[3] + '/' + pathArray[4] + '/' + pathArray[5] + '/' + pathArray[6].split('?')[0]);

   var params = {
       Bucket: 'notes-app-upload26000',
       Key: KeyValue
   };

   bucketInstance.deleteObject(params, function(error, data) {
      if (error) {
         callback(null, failure({error: error}));
      } else if(data){
         callback(null, success(data));
      }
   });
}

有些奇怪的事情……从我的 React 前端代码中调用此函数时:

deleteFileS3(jsonObject){
return API.post("notes", "/delete", {
  body: jsonObject
});}

编辑: 这是sucess()和failure()的代码

export function success(body) {
  return buildResponse(200, body);
}

export function failure(body) {
  return buildResponse(500, body);
}

function buildResponse(statusCode, body) {
  return {
     statusCode: statusCode,
     headers: {
       "Access-Control-Allow-Origin": "*",
       "Access-Control-Allow-Credentials": true
   },
  body: JSON.stringify(body)
 };

}

我收到 502错误的网关错误,但由于已正确删除文件,因此调用并执行了该功能。
我发现这些错误可能来自代码中的错误,但是文件被删除,所以我迷路了。
有人对为什么这样处理有想法吗?

0 个答案:

没有答案
相关问题