Node.js 节点将文件上载到S3错误InvalidArgument:null
我在aws sdk库中有此错误,但我没有找到原因 我已经尝试了很多天了,但是没有成功,也不知道发生了什么 这是一个状态码400,但我在网上查了很多例子,一切都很好 这是密码Node.js 节点将文件上载到S3错误InvalidArgument:null,node.js,amazon-s3,aws-sdk-js,Node.js,Amazon S3,Aws Sdk Js,我在aws sdk库中有此错误,但我没有找到原因 我已经尝试了很多天了,但是没有成功,也不知道发生了什么 这是一个状态码400,但我在网上查了很多例子,一切都很好 这是密码 var AWS = require('aws-sdk'); AWS.config.update({ region: 'nyc3' }); var uuid = require('node-uuid'); var fs = require('fs'); // Create an S3 client var s3 = new
var AWS = require('aws-sdk');
AWS.config.update({ region: 'nyc3' });
var uuid = require('node-uuid');
var fs = require('fs');
// Create an S3 client
var s3 = new AWS.S3({
apiVersion: '2006-03-01',
secretAccessKey: '*****',
accessKeyId: '*****',
endpoint: 'https://nyc3.digitaloceanspaces.com',
region: 'nyc3'
});
AWS.config.region = 'nyc3';
const fileName = 'hello_world.txt';
// Create a bucket and upload something into it
var bucketName = 'my-bucket';
var keyName = fileName;
fs.readFile(fileName, (err, data) => {
if (err) throw err;
var params = {
ACL: 'private',
Bucket: bucketName,
Key: keyName,
Body: JSON.stringify(data, null, 2),
ContentLength: data.length
};
s3.putObject(params, function(err, data) {
if (err) console.log(err);
else
console.log(
'Successfully uploaded data to ' + bucketName + '/' + keyName
);
});
// s3.upload(params, function(s3Err, data) {
// if (s3Err) console.log(s3Err);
// else console.log(`File uploaded successfully at ${data.Location}`);
// });
});
您可以看到,我尝试了putObject和upload方法,但它们都有相同的错误
{ InvalidArgument: null
at Request.extractError (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/services/s3.js:816:35)
at Request.callListeners (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/home/antonio/desenvolvimento/projetos/aws-nodejs-sample/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
message: null,
code: 'InvalidArgument',
region: null,
time: 2020-02-28T03:20:24.289Z,
requestId: 'tx00000000000016f648fab-005e5886f8-3359f-nyc3b',
extendedRequestId: undefined,
cfId: undefined,
statusCode: 400,
retryable: false,
retryDelay: 38.29641987933954 }
{InvalidArgument:null
at Request.extractError(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/services/s3.js:816:35)
at Request.callListeners(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:106:20)
在Request.emit(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:78:10)
at Request.emit(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:683:14)
at Request.transition(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:22:10)
在AcceptorStateMachine.runTo(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/state_machine.js:14:12)
at/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/state_machine.js:26:10
应请求。(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:38:9)
应请求。(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/Request.js:685:12)
at Request.callListeners(/home/antonio/desenvolvimento/projetos/aws nodejs sample/node_modules/aws sdk/lib/sequential_executor.js:116:18)
消息:空,
代码:“无效辩论”,
区域:空,
时间:2020-02-28T03:20:24.289Z,
requestId:'TX00000016F648FAB-005e5886f8-3359f-nyc3b',
extendedRequestId:未定义,
cfId:未定义,
状态代码:400,
可检索:错误,
retryDelay:38.29641987933954}
我不知道我能做些什么来解决这个问题。
任何人都可以提供帮助?在提交S3
putObject
调用之前,当您console.log(data)
时会发生什么?Hi@TheLebDev这里是输出,因此您尝试上载的数据是
?是的,这是我想要上载的。我建议首先记录发送到putObject的每个参数,显然,有东西被解释为null
并使您的呼叫崩溃。当您console.log(数据)时会发生什么
在提交S3putObject
调用之前?Hi@TheLebDev此处显示输出,因此您尝试上载的数据是
?是的,这是我想要上载的。我建议首先记录发送到putObject的每个参数,显然,某些内容被解释为null
,正在使您的呼叫崩溃。