ibm-cos-sdk在配置问题中丢失凭据

时间:2018-04-03 05:54:06

标签: node.js ibm-cloud credentials object-storage

我使用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] } }

0 个答案:

没有答案