繁体   English   中英

AWS mp3 文件上传间歇性失败

[英]AWS mp3 file upload is failing intermittently

我面临使用express-fileupload将 mp3 文件上传到 S3 存储桶的问题。 对于大多数用户来说,它工作正常,但对于某些用户,上传时md5不匹配,因此上传失败。 我正在使用以下代码上传文件。

export const uploadFileToS3Bucket = async (fileToUpload, fileId, subKey) => {
  const fileExtension = fileToUpload.name.split(".");

  const s3Bucket = new AWS.S3({
    accessKeyId: AppConstants.S3_UPLOAD_ACCESS_ID,
    secretAccessKey: AppConstants.S3_UPLOAD_ACCESS_KEY,
    region: AppConstants.S3_REGION,
  });

  const key = `${subKey}/${fileId}.${fileExtension[fileExtension.length - 1]}`;

  const params = {
    Bucket: BucketName,
    Key: key,
    Body: fileToUpload.data,
    ContentType: fileToUpload.mimetype,
    ACL: "public-read",
    ContentMD5: fileToUpload.md5,
  };

  return new Promise((resolve, reject) => {
    s3Bucket.upload(params, (err, data) => {
      if (err) {
        reject(err);
      } else {
        resolve(data.Location);
      }
    });
  });
};

我们发现一个问题是我们没有在我们部署的 PM2 实例之间保持用户粘性。 因此,如果我们从实例 1 发送请求,则响应有机会被实例 2 接收,从而导致上传问题。 我们启用了用户粘性,这解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM