Obtains the access credentials to cloud services.

CredentialProviderChain().resolvePromise()

This function returns a Promise object, through which a temporary credential for accessing cloud services is obtained. The credential is updated every 15 minutes by default. Therefore, you can call this function to obtain the updated credential when you want to access a cloud service. The format of the credential is as follows:
Parameter Type Description
accessKeyId String The AccessKey ID. The AccessKey pair consists of an AccessKey ID and an AccessKey secret. You can use the AccessKey pair to authenticate API requests that you make to Alibaba Cloud.
accessKeySecret String The AccessKey secret.
securityToken String The STS token.

Sample requests

This topic describes the usage of the CredentialProviderChain().resolvePromise() method. The sample code is as follows:
Note For detailed description of the sample code for accessing OSS, see Access Alibaba Cloud OSS.
'use strict';

var leSdk = require('linkedge-core-sdk');
var credChain= new leSdk.CredentialProviderChain();
var OSS = require('./node_modules/ali-oss');

exports.handler = function (event, context, callback) {
  // Retrieves group role credential.
  credChain.resolvePromise()
    .then((cred) => {
      console.log('Access Key Id: %s, Access Key Secret: %s, Security Token: %s',
        cred.accessKeyId, cred.accessKeySecret, cred.securityToken);

      // Constructs a client to interact with OSS cloud service.
      var client = new OSS({
        accessKeyId: cred.accessKeyId,
        accessKeySecret: cred.accessKeySecret,
        stsToken: cred.securityToken,
        region: 'oss-cn-shanghai',
        bucket: 'le-fc-bucket',
      });

      /* Upload local file to cloud. */
      return client.put('fileFromEdge.txt', "/linkedge/run/localFile.txt");
    })
    .then((result) => {
      console.log(result);
      callback(null);
    })
    .catch((err) => {
      console.log(err);
      callback(err);
    });
};