阿里云短信平台Python3 SDK:SDK.InvalidRegionId Can not find endpoint to access 问题

阿里云官网上的aliyunsdkcore是不支持Python3的,但是在官方的Github上,有一个aliyunsdkcore-v3版本,该版本支持Python3。

但是在调用短信接口的时候,出现了aliyunsdkcore.acs_exception.exceptions.ClientException: SDK.InvalidRegionId Can not find endpoint to access.的异常,原因是在aliyun-python-sdk-core-v3\aliyunsdkcore\endpoints.xml中没有把相应的<Product>加上。

所以只需要在里面进行添加上<Product><ProductName>Dysmsapi</ProductName><DomainName>dysmsapi.aliyuncs.com</DomainName></Product>就可以了:

1
2
3
4
5
6
7
<Endpoint name="cn-hangzhou">
<RegionIds><RegionId>cn-hangzhou</RegionId></RegionIds>
<Products>
......
<Product><ProductName>Dysmsapi</ProductName><DomainName>dysmsapi.aliyuncs.com</DomainName></Product>
</Products>
</Endpoint>

如果使用其他服务出现类似的异常,都可以检查下github下载的endpoints.xml有没有阿里云官网下载的endpoints.xml对应的<Product>

PS:好想吐槽阿里,一个SDK搞这么麻烦