阿里云官网上的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>
就可以了:
<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搞这么麻烦