SavingsPlans:凭据应限定在有效区域

SavingsPlans: Credential should be scoped to a valid region

我正在尝试使用

列出我帐户中所有可用的储蓄计划
var savingsPlans = new AWS.SavingsPlans({endpoint: 'savingsplans.amazonaws.com', region: region});
const listResponse: AWS.SavingsPlans.DescribeSavingsPlansResponse = await savingsPlans.describeSavingsPlans().promise();

但在某些情况下会出现以下错误。在某些情况下,它工作正常。可能是什么问题?请帮忙。

"error": {
        "message": "Credential should be scoped to a valid region, not 'us-west-2'. ",
        "code": "InvalidSignatureException",
        "time": "2022-03-04T09:47:56.535Z",
        "statusCode": 403,
        "retryable": false,
        "retryDelay": 97.23145392059766
    }

我正在 运行上面为我帐户中的所有区域设置的代码。对于某些地区,我没有收到任何错误。但是对于某些地区,我遇到了错误。例如:我收到区域 ap-northeast-1 的错误,但我没有收到 us-east-1 区域的错误。

当我 运行 使用 Go SDK 的相同代码时,它适用于两个区域。不确定这里出了什么问题。

当我们使用 v3 aws-sdk 版本时,这个问题就解决了。

import { SavingsplansClient, DescribeSavingsPlansCommand } from "@aws-sdk/client-savingsplans";
 const savingsPlans = new SavingsplansClient();
 const command = new DescribeSavingsPlansCommand(})
 const listResponse = await savingsPlans.send(command);

v2 中的储蓄计划似乎存在一些问题。