S3 节点模块,尝试上传文件时会出现 ENETUNREACH 错误

S3 node module, attempting to upload file gives ENETUNREACH error

本文关键字:错误 ENETUNREACH 文件 模块 节点 S3      更新时间:2023-09-26

我正在尝试将文件上传到我的 Amazon S3 存储桶,但收到 ENETUNREACH 错误。我确实有权上传/删除存储桶的文件,并且还编辑了 CORS 配置以允许来自所有源的 POST/GET 请求。我认为这可能是我从某人那里收到的有故障的密钥。如果问题出在何处,测试我拥有的密钥是否有效的好方法是什么?

代码如下:

var s3 = require('s3');
/* Create a client for uploading or deleting files */
var client = s3.createClient({
    maxAsyncS3: 20,     // this is the default 
    s3RetryCount: 3,    // this is the default 
    s3RetryDelay: 1000, // this is the default 
    multipartUploadThreshold: 20971520, // this is the default (20 MB) 
    multipartUploadSize: 15728640, // this is the default (15 MB)
    s3Options: {
        accessKeyId: 'xxxxxxxx',
        secretAccesskey: 'xxxxxxxx',
        region: 'xxxxxxxx'
    },
});
exports.uploadFile = function(fileName, bucket){
    console.log('Uploading File: ' +fileName+''nBucket: ' +bucket);
    var params = {
        localFile: fileName, 
        s3Params: {
          Bucket: bucket,
          Key: 'testfile',
        },
    };
    var uploader = client.uploadFile(params);
    uploader.on('error', function(err) {
        console.error("unable to upload:", err.stack);
    });
    uploader.on('progress', function() {
        console.log("progress", uploader.progressMd5Amount, uploader.progressAmount, uploader.progressTotal);
    });
    uploader.on('end', function() {
        console.log("done uploading");
    });
};

尝试上传 txt 小文件时的控制台日志:

控制台日志

禁用 IIS 服务以修复我的错误。