0
 import * as aws from 'aws-sdk';
 ...
 const awsConfigurationParmeters: ConfigurationOptions = {
    logger,
    maxRetries: 10,
    region
  };

  if (Object.keys(customHttpOptions).length > 0) {
    awsConfigurationParmeters.httpOptions = customHttpOptions;
  }

  const awsConfig = new aws.Config();
  awsConfig.update(awsConfigurationParmeters);

I am setting the region golabally via aws.config.update. However, when I trie to make DynamoDB/S3/Firehose/KMS calls, it results in a ConfigError.

"before all" hook: Error calling new aws.KMS.listAliases - Error Code: ConfigError

The Fix is to put region in the call, so that - new aws.KMS({region}).listAliases.

Should't aws.config.update take care of this?

4

1 回答 1

0

如果我希望全局使用 awsConfigurationParameters,我需要更新aws.config. 在我的示例中,只有 awsConfig 正在更新。

试试这个:

import * as aws from 'aws-sdk';
 ...
 const awsConfigurationParmeters: ConfigurationOptions = {
    logger,
    maxRetries: 10,
    region
  };

  if (Object.keys(customHttpOptions).length > 0) {
    awsConfigurationParmeters.httpOptions = customHttpOptions;
  }

  aws.config.update(awsConfigurationParmeters);

更新全局配置后,任何客户端都将使用该配置:

const kmsClient = new aws.KMS();
于 2018-11-19T16:20:22.917 回答