使用企业管理Java Python SDK获取不到企业项目的排查方式
使用企业管理Java Python SDK获取不到企业项目,请按照如下方式排查:
- 检查获取Token的方式是否为DomainToken,企业管理是全局服务,因此需要使用DomainToken。
- 若通过AK/SK方式使用SDK,同步骤1,需要检查认证方式是否为Domain级别,AK/SK在经过API Gateway时,API Gateway会将AK/SK转成响应Token,来调用EPS服务。
- 检查请求企业管理(EPS)HTTP接口域名是否正确,可以通过打印详细日志查看,设置打印日志语句放在调用接口之前。
- Java版本打印日志通过如下方法:
OSFactory.enableHttpLoggingFilter(true);
- Python版本打印日志通过如下方法:
utils.enable_logging(debug=True,stream=sys.stdout)
- 企业管理(EPS)公有云域名唯一,Endpoint为:https://eps.myhuaweicloud.com/v1.0。
若步骤3请求EPS的HTTP接口域名不正确,请按照如下方式设置企业管理(EPS)的正确Endpoint:
- Java版本,大部分代码SDK Demo已经呈现,请重点关注注释部分:
//生成endpoint解析器
OverridableEndpointURLResolver endpointResolver = new OverridableEndpointURLResolver();
endpointResolver.addOverrideEndpoint(ServiceType.EPS, "https://eps.myhuaweicloud.com/v1.0");
String user = "xxxxx";
String password = "******";
String userDomainId = "yyyyyyyyyyy";
String authUrl = "https://iam.xxxx.com/v3";
//设置打印日志
OSFactory.enableHttpLoggingFilter(true);
//生成config对象
Config config = Config.newConfig().withEndpointURLResolver(endpointResolver);
//请求客户端使用config对象
OSClient.OSClientV3 osclient = OSFactory.builderV3().endpoint(authUrl).withConfig(config)
.credentials(user, password, Identifier.byId(userDomainId)).scopeToDomain(Identifier.byId(userDomainId)).authenticate();
- Python版本:
os.environ.setdefault('OS_EPS_ENDPOINT_OVERRIDE', 'https://eps.myhuaweicloud.com/v1.0')
- 调用接口报500类错误,请联系EPS服务客服。
老版本的SDK使用起来较为繁琐,推荐使用新版本Union SDK。