更新时间:2022-07-07 GMT+08:00

如何指定云服务的API和版本号?

问题背景

KooCLI调用云服务API的过程中,会对您输入参数的合法性进行校验。若您当前调用的云服务是多版本服务,即意味着该服务中的部分或全部API有多个版本。因同一API不同版本的参数、使用场景等可能存在差异,故须获取多版本服务API的版本信息。

云服务API的版本查询与指定

  • 版本查询

    您可以通过“hcloud <service> --help”命令,查看该云服务的operation列表。若在查询结果的“Available Operations”中某operation出现多次,且以“/”拼接了不同的版本号,则调用该API时需要指定其版本信息,方法请参考版本指定。其余在该云服务operation列表中只出现了一次的operation不必拼接版本号,KooCLI默认调用其唯一版本。

  • 版本指定
    • 手动添加版本信息

      当调用多版本服务的API时,您可以手动在原API的operation后以“/”拼接版本信息。例如:若原命令中operation为“showLogs”,“Available Operations”列表中存在“showLogs/v1”和“showLogs/v2”,您可根据需要将原命令中的operation修改为“showLogs/v1”或“showLogs/v2”。

    • 使用默认版本信息

      当调用多版本服务的API时,若您未在命令中指明其版本信息,KooCLI会在运行过程中获取该API可选的所有版本,将其按字母排序,并默认调用其排序后的最后一个版本(一般认为该版本即是该API的最新版本)。

扩展问题及其解决方案

  • 扩展问题

    当您使用默认版本信息的方式调用多版本云服务的API时,若您本地缓存的元数据文件被修改,可能会导致KooCLI在执行过程中无法根据缓存文件正确解析到该API的版本信息。在此情形下,会提示如下错误:

    [USE_ERROR]服务为多版本,请指定API版本号

  • 解决方案

    如遇如上情形,您可通过执行“hcloud meta clear”命令清理当前的元数据缓存文件后,重新调用。