该错误通常是由于AWS CLI或SDK配置中与使用的区域不匹配的凭证引起的。解决此问题的一种方法是手动指定区域。
以下是在Node.js中使用AmazonApiGatewayManagementApiClient的示例代码,解决了此错误:
const AWS = require('aws-sdk');
const apigatewaymanagementapi = new AWS.ApiGatewayManagementApi({
apiVersion: '2018-11-29',
endpoint: 'https://{api-id}.execute-api.{region}.amazonaws.com/{stage}'
});
AWS.config.update({region: 'us-west-2'});
// 执行发送消息到客户端的逻辑
在此示例中,我们首先导入AWS SDK并将apigatewaymanagementapi实例化。我们还使用AWS.config.update手动指定了AWS区域(us-west-2)。这样,我们指定的区域将覆盖从默认配置中读取的us-east-1。请将示例代码中的“{api-id}”和“{stage}”替换为使用的API ID和阶段名称。
通过以上方式,您可以避免“AmazonApiGatewayManagementApiClient抛出Credential应该被范围限定在有效的区域,而不是'us-east-1'”错误。