我使用ibm-cos-sdk v1.1.4访问IBM Cloud。但我得到一个非常奇怪的问题,即在配置中丢失凭据。我使用下面的代码从IBM Cloud上传/下载文件。这些脚本在FVT环境中工作。只在PROD环境中遇到此类问题。有人可以帮忙告诉我是否有任何错误或如何解决它?感谢。
FVT正在使用Nodejs v4.8.4,而PROD正在使用Nodejs v4.4.7。但我认为这不是Nodejs版本的根本原因,因为我在FVT中测试了v4.8.4和v4.4.7,并且AWS.S3正在运行。
var config = {
endpoint: 'XXXXXXXXXXXXX',
apiKeyId: 'XXXXXXXXXXXXX',
ibmAuthEndpoint: 'https://iam.ng.bluemix.net/oidc/token',
serviceInstanceId: 'XXXXXXXXXXXXX',
};
var cos = new AWS.S3(config);
console.log(cos.config.credentials); <=== I have checked the config.credentials and it's not empty.
cos.upload(params, function (err, data) {
if (err){
console.log(err);
errorClbk(err);
} else
successClbk();
});
以下是错误消息:
[CredentialsError: Missing credentials in config]
message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'ECONNRESET',
syscall: 'read',
time: Tue Apr 03 2018 04:06:39 GMT+0000 (UTC),
originalError:
{ message: 'Could not load credentials from Credentials',
code: 'CredentialsError',
errno: 'ECONNRESET',
syscall: 'read',
time: Tue Apr 03 2018 04:06:39 GMT+0000 (UTC),
originalError:
{ message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'ECONNRESET',
syscall: 'read',
time: Tue Apr 03 2018 04:06:39 GMT+0000 (UTC),
originalError: [Object] } }