由于函数调用中缺少区域而导致 AWS Config 错误
AWS Config Error due to missing region in function call
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);
我正在通过 aws.config.update
全局设置区域。但是,当我尝试进行 DynamoDB/S3/Firehose/KMS 调用时,会导致 ConfigError。
"before all" hook: Error calling new aws.KMS.listAliases - Error Code: ConfigError
修复方法是将区域放入调用中,以便 - new aws.KMS({region}).listAliases
。
aws.config.update 不应该处理这个吗?
如果我希望全局使用 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();
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);
我正在通过 aws.config.update
全局设置区域。但是,当我尝试进行 DynamoDB/S3/Firehose/KMS 调用时,会导致 ConfigError。
"before all" hook: Error calling new aws.KMS.listAliases - Error Code: ConfigError
修复方法是将区域放入调用中,以便 - new aws.KMS({region}).listAliases
。
aws.config.update 不应该处理这个吗?
如果我希望全局使用 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();