更新时间:2024-08-08 GMT+08:00
分享

命令行工具概述

医疗智能体命令行工具(eihealth-toolkit)是配套EIHealth平台,为EIHealth平台各功能组件提供命令行管理工具。借助此工具,可以辅助您对EIHealth平台项目中数据、应用、流程和作业资源进行管理和使用。

eihealth-toolkit具备灵活性高、扩展性强:

  • 单一可执行文件,方便拷贝与安装。
  • 支持多操作系统,包括Windows、Linux和MacOS,满足不同开发者需求。

使用命令行工具执行数据操作的详细步骤如下所示,详细的命令行介绍请参见医疗智能体命令行工具

前提条件

获取认证信息(AK/SK,区域名称,平台ID)。

步骤1:下载eihealth-toolkit

针对不同操作系统,eihealth-toolkit下载地址如下所示。

本页面命令行工具下载后,在使用时,需用到您注册华为账号并开通华为云时提供的用户名等信息,用于登录并操作EIHealth平台的项目、数据等资产。这些信息的处理将遵循您已接收的《华为云用户协议》《隐私政策声明》约束。

步骤2:安装eihealth-toolkit

本示例中以Windows系统为例,介绍安装命令行工具的方法。

  1. 下载Windows版本的客户端,得到health.exe文件,health文件无需安装,放置在任一文件夹中即可。
    图1 下载命令行工具
  2. 使用win键+R,输入cmd打开windows的cmd窗口。进入工具所在的目录,输入health命令,即可使用。
    如果cmd窗口显示目录不是health文件所在目录,请使用cd命令切换路径。例如,切换至D盘:
    cd /d d:
    图2 客户端
  • 使用Linux版本命令行工具时,您需要在本地搭建Linux环境,并将下载的health文件放置所需的目录下,例如:
    • 如果当前目录为health所在目录,可以使用./health命令执行命令行工具。
    • 如果当前目录不是health所在目录,需要使用绝对路径。如当前目录为/opt,假设health存放在/root/health-toolkit/下,需要指定/root/health-toolkit/health路径进行使用。
  • 如果无法运行,使用chmod 755 health命令设置执行权限。

步骤3:初始化配置

在使用命令行工具前,需要初始化配置信息,通过config命令对eihealth-toolkit进行初始化配置。本节以Windows为例介绍配置过程,Linux和macOS环境配置过程相同。

  • 命令结构

    执行health config add命令配置AK、SK、region、platform-id信息,获取方法请参见获取认证信息

    health config add [flags]
    表2 参数说明

    参数

    简写

    是否必选

    说明

    --domain-name

    -d

    与管理员(购买平台的账户)的账号名一致。

    --user-name

    -u

    子用户的用户名。

    管理员(购买平台的账户)登录时,user-name和domain-name一致。

    --password

    -w

    密码。

    --ak

    -a

    AK(Access Key ID):访问密钥ID。

    --sk

    -s

    SK(Secret Access Key):与访问密钥ID结合使用的密钥。

    --region

    -r

    服务区域名称。

    --platform-id

    -i

    平台ID,获取方法请参见获取认证信息

    --iam-endpoint

    -m

    IAM终端节点名称,请在地区与终端节点中获取。

    --health-endpoint

    -e

    EIHealth终端节点名称,请在地区与终端节点中获取。

    --swr-endpoint

    -t

    SWR镜像仓库地址。

    获取方式:

    1. 登录容器镜像服务管理控制台。
    2. 单击界面右侧“登录指令”,获取内网登录指令末尾的SWR镜像仓库地址。例如100.78.15.50:20202。

    --log-path

    -l

    日志路径,不填写时默认为命令行工具当前路径下healthcli.log文件。

    路径设置格式:

    • Windows系统为“路径\文件名”。
    • Linux系统格式为“路径/文件名”。

    --http-proxy

    -p

    HTTP代理配置,格式为“http://username:password@your-proxy:your-port”。

    --obs-endpoint

    -o

    OBS终端节点名称,请在地区与终端节点中获取。

    --obs-install-path

    -q

    设置obsutil安装路径,默认安装在当前运行目录。

    设置时,该路径必须为obsutil运行文件名,如/home/path/obsutil、/home/path/obsutil-1.1.1

    --obs_down_load_url

    -D

    obsutil下载链接,obsutil将下载到obs-install-path上。

    参数有改动时才会触发下载。

    下载链接的内容可以是zip、tar.gz文件、二进制文件,如果是压缩文件,文件夹内的obsutil必须命名为obsutil(和obsutil官方链接保持一致)。

    --force

    -f

    强制操作。如果下载obsutil时,指定的obs-install-path上已经有同名文件,不带-f时会提示用户,带上-f会直接覆盖原文件。

  • 命令示例
    health config add -d xxx -u xxx -w xxx  -i xxx -r cn-north-4 -o obs.cn-north-4.myhuaweicloud.com  -a xxx -s xxx -D https://obs-wwx-2022.obs.cn-north-4.myhuaweicloud.com/obsuti-windows/obsutil.exe -q obsutil-linux/obsutil.exe –f -m xxx -e xxx -t xxx
    # 执行成功返回结果如下
    add ak successfully! 
    add sk successfully! 
    add region successfully!
    add platform-id successfully!
    add user-name successfully! 
    add password successfully!
    add domain-name successfully! 
    add obs-endpoint successfully!          
    add obs_install_path successfully!      
    add obs_down_load_url successfully!
    add iam-endpoint successfully!
    add health-endpoint successfully!
    add swr-endpoint successfully!
    图3 命令示例
    • 执行以上命令行,会在系统所在的用户目录下自动生成一个.health文件夹,文件夹中包含config.ini配置文件,用于存储任务执行所涉及到的配置,如密钥、区域、当前项目等信息。
    • 生成的配置文件不建议直接修改,如需改动请使用命令行工具修改。
    • 配置文件中保存有用户的AK、SK信息,为了避免密钥泄露,会对文件中的SK进行加密以保护密钥安全。
    • 清空配置请执行health config clear命令。

步骤4:上传数据

使用upload命令,将本地数据上传到EIHealth平台。该命令不支持将数据上传到引用目录。

最小可以上传0Byte的空文件或文件夹,最大可以上传48.8TB的单个文件。

数据在上传的过程中,受网络影响可能出现损坏,上传命令默认会在上传完成后,验证项目中数据的MD5值与本地数据的MD5值的一致性,以及验证项目中数据的大小与本地数据大小一致性。

  • 命令结构
    health upload <srcdir> <destdir> [flags]
    表3 参数说明

    参数

    简写

    是否必选

    说明

    srcdir

    源路径。

    destdir

    目的路径。

    --rename

    -e

    重命名,上传文件时可选。

    --recursive

    -r

    递归上传文件夹中所有的文件和子文件夹,上传文件夹时必选。

    --force

    -f

    强制操作,不进行询问提示,上传文件夹时可选。

    --flat

    -l

    上传文件夹时,只上传该文件夹下的所有内容,上传文件夹时可选。

    --update

    -u

    增量上传操作,设置该参数后上传每个文件时会比对平台数据路径中的文件,仅在以下情况时上传数据:

    • 文件不存在。
    • 待上传文件大小与平台文件大小不一致。
    • 文件的最后修改时间不一致。

    --parallel

    -p

    上传文件时,每个分段上传任务数的最大并发数,默认为5。取值范围[1,10]。

    --jobs

    -j

    上传文件夹时,批量任务的最大并发数,默认为5。取值范围[1,10]。

  • 命令示例

    本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。

    1. 上传数据前需要使用switch命令进入待操作的项目。例如,使用health switch project test命令进入到名为test的项目中。

    2. 将本地数据上传到test项目中的src文件夹中。
      详细的数据操作命令,如下载、删除、拷贝、切换路径等请参见“命令行工具 > 数据管理命令”章节。
      • 将本地D:\local\data\test.txt路径下的txt文件上传至src文件夹中。

        上传完成后,会在EIHealth平台数据管理页面的src文件中,生成test.txt文件。

        health upload D:\local\data\test.txt /src/
      • 上传文件并重命名为abc.txt。
        health upload D:\local\data\test.txt /src/  --rename abc.txt
      • 递归上传本地D:\local路径下的所有文件和文件夹至项目src文件夹中(不上传local文件夹本身)。
        health upload D:\local  /src/ -r -f -l
      • 上传本地D:\local文件夹至项目src文件夹中(上传local文件夹本身)。
        health upload D:\local /src/ -r -f
      • 增量上传文件,同步本地D:\local\test.txr文件至项目src文件夹中。
        health upload D:\local\test.txt /src/ --update -r
        • 列举路径中的对象时,需使用/xxx/格式,如示例中的/src/。
        • 列举本地路径中的文件夹对象时,需要使用“路径/文件名”或“路径\文件名”格式。请依据操作系统的路径规范使用,如示例中的D:\local。
        • 如果路径中带有特殊字符比如()之类的,运行的时候需要将整个路径用""括起来,或者用\将字符转义,例如:health cp "/src2/abs(1).txt" /src1/ 或者 health cp /src2/abs\(1\).txt /src1/ 。

步骤5:下载数据

使用download命令将EIHealth平台的数据下载到本地,此命令不支持下载引用项目中的数据。

数据在下载的过程中,受网络影响可能出现损坏,下载命令默认会在下载完成后,验证项目中数据的MD5值与本地数据的MD5值的一致性,以及验证项目中数据的大小与本地数据大小一致性。

  • 命令结构
    health download <srcdir> <destdir> [flags]
    表4 参数说明

    参数

    简写

    是否必选

    描述

    srcdir

    源路径。

    destdir

    目的路径。

    --rename

    -e

    重命名。

    --recursive

    -r

    按指定的对象名前缀批量下载,批量下载时必选。

    --force

    -f

    强制操作,不进行询问提示,批量下载时可选。

    --flat

    -l

    批量下载时,不包含上一级父对象名前缀,批量下载时可选。

    --update

    -u

    增量下载操作,设置该参数后,下载每个文件时会比对本地的文件,仅在以下情况时下载数据:

    • 文件不存在。
    • 下待载文件大小与本地文件大小不一致。
    • 文件的最后修改时间不一致。
  • 命令示例

    本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。

    1. 下载数据前需要使用switch命令进入待操作的项目。例如,使用health switch project test命令进入到名为test的项目中。
    2. 下载项目中的数据至本地。
      • 下载项目中src/abc.txt文件到本地的data路径中。
        health download /src/abc.txt D:\local\data
      • 下载项目中的abc.txt文件到本地,重命名为abc1.txt。
        health download /src/abc.txt D:\local\data --rename abc1.txt
      • 递归下载项目中src文件夹中的所有文件和文件夹(包含src文件夹本身)至本地data路径,且下载过程中不进行询问提示。
        health download /src/  D:\local\data -r -f
      • 递归下载项目中src文件夹中的所有文件和文件夹(不包含src文件夹本身)至本地data路径,且下载过程中不进行询问提示。
        health download /src/  D:\local\data -r -f --flat
      • 增量下载文件。同步项目中src文件夹下所有的文件和文件夹至本地data路径中。
        health download /src/  D:\local\data --update -r

        列举路径中的对象时,需使用/xxx/格式,如示例中的/src/。

        如果路径中带有特殊字符比如()之类的,运行的时候需要将整个路径用""括起来,或者用\将字符转义,例如:health cp "/src2/abs(1).txt" /src1/ 或者 health cp /src2/abs\(1\).txt" /src1/ 。

清理历史命令

为防止配置文件中的敏感信息泄露,建议使用health config clear命令定时清除本地配置文件。

对于执行的历史命令,可通过以下方法清除。

  • Linux:执行history -c命令清除历史记录,重新登录命令行工具后,记录可恢复。执行rm -f $HOME/.bash_history命令,可删除记录文件,清空历史。
  • macOS系统:执行ps -p $$命令检查shell类型。
    • 类型为bash:操作与Linux系统相同。
    • 类型为zsh:执行history -p命令清除历史记录,重新登录命令行工具后,记录可恢复。执行rm -rf ~/.zsh_history命令,退出终端后再次执行history -p命令可删除记录文件,清空历史。
  • Windows系统:对于当前执行的命令,可通过关闭cmd窗口实现历史命令的清理。

相关文档