文档首页> 企业管理> 用户指南> 项目管理> 常见问题> 使用企业管理Java Python SDK获取不到企业项目的排查方式
更新时间:2023-06-26 GMT+08:00

使用企业管理Java Python SDK获取不到企业项目的排查方式

使用企业管理Java Python SDK获取不到企业项目,请按照如下方式排查:

  1. 检查获取Token的方式是否为DomainToken,企业管理是全局服务,因此需要使用DomainToken。
  2. 若通过AK/SK方式使用SDK,同步骤1,需要检查认证方式是否为Domain级别,AK/SK在经过API Gateway时,API Gateway会将AK/SK转成响应Token,来调用EPS服务。
  3. 检查请求企业管理(EPS)HTTP接口域名是否正确,可以通过打印详细日志查看,设置打印日志语句放在调用接口之前。

    • Java版本打印日志通过如下方法:

    OSFactory.enableHttpLoggingFilter(true);

    • Python版本打印日志通过如下方法:

    utils.enable_logging(debug=True,stream=sys.stdout)

  4. 企业管理(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')

  5. 调用接口报500类错误,请联系EPS服务客服。

    老版本的SDK使用起来较为繁琐,推荐使用新版本Union SDK。