使用阿里云SDK(各种语言)时,遇到SDK抛出异常, 错误码为SDK.EndpointResolvingError
,错误信息为 No endpoint in the region <region-id> for product <product-id>
.如何解决?
这个问题的原因是,SDK无法找到该产品(例如ECS,RDS,短信服务)在这个Region上的服务地址(endpoint),分情况解决:
1, 使用其他Region ID
当错误信息中出现这样的附加描述 Or you can use the other available regions: ap-southeast-1 cn-beijing cn-hangzhou ...
时,这表明该产品在其他Region下是有服务地址的。你可以尝试使用描述中的其他 Region ID。
2,升级SDK Core
SDK Core发布(aliyun-java-sdk-core
或aliyun-python-sdk-core
)中包含了服务地址的静态配置。当服务地址更新时,我们会发布新的SDK core来包含新的服务地址。因此升级到最新的SDK Core有可能解决这个问题。
3,直接指定服务地址(Endpoint)
如果你知道你希望使用的服务地址是什么,你可以在程序中直接指定服务地址来绕过这个问题。具体方法是:
Java SDK:
DescribeInstancesRequest request = new DescribeInstancesRequest();
// 对这个请求直接设置Endpoint
request.setEndpoint("你的Endpoint");
DescribeInstancesResponse response = this.client.getAcsResponse(request);
Python SDK:
request = DescribeInstancesRequest()
# 对这个请求直接设置 Endpoint
request.set_endpoint("你的Endpoint")
# 使用这个 Endpoint发起请求
response = self.client.do_action_with_exception(request)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。