
# Windows 系统使用 CLI 客户端工具接入云开发环境
**操作场景**
使用 Windows 操作系统的开发者可以通过 hdspace 在本地 PC 端创建和管理云开发环境，通过该工具建立与云开发环境的连接，进而实现对云开发环境的远程操作（上传下载文件、编码编译执行等）。
**前提条件**
- [登录华为开发者空间](https://developer.huaweicloud.com/space/home)
- 已创建虚机
**操作步骤**
1. **安装 CLI 工具包**
   
   在虚机列表中，点击**"远程连接"**，将弹出虚拟机开发环境支持的CLI客户端工具列表，如图 1 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613880031.png)
   图1
   
   可按照对应的操作系统点击**"点击下载"**CLI 客户端工具，如图 2 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613999933.png)
   图2
   
   配置环境变量，以 Windows11 为例，在搜索栏搜索环境变量，点击系统变量中的path，新增环境变量。
   把 hdspace.exe 文件所在路径，添加到新增的环境变量中并保存确认，如图 3 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583640148.png "点击放大")
   图3
   
   确认 CLI 工具包安装成功
   进入终端执行命令 hdspace ，查看安装结果。
   ```
   hdspace
   ```
   显示如下，则为安装成功，如图 4 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583480246.png)
   图4
   
   查看支持的 CLI 命令行列表，执行 help 命令可查看 CLI 命令行列表。
   ```
   hdspace --help
   ```
   
   | 含义        | 命令                                 |
   |:---|:---|
   | 云开发环境顶层帮助 | hdspace devenv --help              |
   | 开发者空间配置帮助 | hdspace config --help              |
   | 开发者空间版本帮助 | hdspace version --help             |
   | 云开发环境列表帮助 | hdspace devenv list --help         |
   | 创建云开发环境帮助 | hdspace devenv create --help       |
   | 启动云开发环境帮助 | hdspace devenv start --help        |
   | 关闭云开发环境帮助 | hdspace devenv stop --help         |
   | 删除云开发环境帮助 | hdspace devenv delete --help       |
   | 建立隧道帮助    | hdspace devenv start-tunnel --help |
      
   至此，我们成功安装了 CLI 客户端工具并已配置环境变量，后续可通过 CLI 命令行来配置和管理云开发环境。
   
   
2. **配置云开发环境访问密钥**
   
   在使用 CLI 客户端工具包创建和管理云开发环境之前，需要先在本地配置用户的 AK/SK，获取用户远程操作权限，保证操作的安全性。
   1. 获取 AK/SK： AK 是 Access Key（访问密钥）的缩写, 用于标识用户身份的唯一ID，通常公开传输；SK 是 Secret Key（秘密密钥）的缩写，用于生成请求签名的保密密钥，仅用户和服务端持有。其核心功能是通过对称加密机制验证请求发送者的合法性，防止未授权访问。开发者配置 AK/SK，等同于在 CLI 中进行身份信息认证，从而可以在 CLI 端对云开发环境进行操作。
      **操作步骤**：
      1.1 进入华为云控制台。
      1.2 将鼠标移至页面右上角的用户名处，在下拉列表中单击"我的凭证"，如图 5 所示。
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613880037.png "点击放大")
      图5
      
      1.3 单击"访问密钥"。
      1.4 单击"新增访问密钥"，进入"新增访问密钥"页面。
      - 每个用户最多可创建 2 个访问密钥，不支持增加配额。如果您已拥有 2 个访问密钥，将无法创建访问密钥。
      
      - 如需修改访问密钥，请删除访问密钥后重新创建。
      
      
      1.5 输入描述信息，单击"确定"。
      1.6 创建成功后，在"创建成功"弹窗中，单击"立即下载"下载密钥，并妥善保管。
      您可以在在下载的 .csv 文件中查看访问密钥 ID（AK），访问密钥（SK）。
      - 获取临时 AK/SK，请参考 IAM 接口文档。
      
      - 请及时下载保存，弹窗关闭后将无法再次获取该密钥信息，但您可重新创建新的密钥。
      
      - 当您下载访问密钥后，可以在浏览器页面左下角打开格式为 .csv 的访问密钥文件，或在浏览器"下载内容"中打开。
      
      - 为了账号安全性，建议您妥善保管并定期修改访问密钥，修改访问密钥的方法为删除旧访问密钥，然后重新生成，如图 6 所示。
      
      
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613999935.png "点击放大")
      图6
      
      
   
   2. 配置 AK/SK
   
   
   输入命令：
   ```
   hdspace config
   ```
   **注意** **：按照提示输入 AK/SK，SK 输入后并不会回显，并且需要再次输入确认** ，如图 7 所示**。**
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583640154.png)
   图7
   
   如上图显示，则配置 AK/SK 成功。
   
   
3. **创建云开发环境**
   
   1. 查看可用云开发环境信息 输入命令：
      ```
      hdspace devenv list
      ```
      **说明** ：因本章节开始已经创建云开发环境，所以可以看到已经有一个环境存在。若是开发者想体验使用CLI创建，则可以先去网页端执行删除或按照**步骤 7**删除云开发环境，如图 8 所示。
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583480252.png)
      图8
      
      删除成功后，再次执行如下命令：
      ```
      hdspace devenv list
      ```
      可以看到已经没有云开发环境，如图 9 所示。
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613880039.png)
      图9
      
      
   
   2. 通过 CLI 创建云开发环境 命令如下：
      ```
      hdspace devenv create --name=【用户自定义的云开发环境名称】 --type=【类型】
      ```
      参数说明：
      - **hdspace devenv create：**固定创建命令
      
      - **name(必选) :** 自定义，可包含数字、字母、下划线，长度不超过 15 个字符，不能以数字开头。
      
      - **type(必选):**云开发环境有 2 种类型可选，一种虚机 vm，一种容器 container，本次选择容器 container。
      
      
      创建成功之后，再次使用如下命令查看创建是否成功，如图 10 所示。
      ```
      hdspace devenv list
      ```
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613999937.png)
      图10
      
      可以看到 NAME 为**test1** 且 TYPE 为**Vm** 的虚机已创建成功，状态为 **Running**。
      
   
   
   
   
4. **启动云开发环境**
   
   1. 开机 可以通过 help 命令查看开机相关命令，具体开机命令如下:
      **注意：num, instanceId 与 name 必须选填一个**
      ```
      hdspace devenv start --num=【num】 --instance-id=【instanceId】 --name=【name】
      ```
      参数说明：
      - **hdspace devenv start：**固定开机命令。
      
      - **num(可选):**云开发环境列表的 NUM。
      
      - **instance-id(可选):** 创建云开发环境成功后的 ID。
      
      - **name(可选):**创建云开发环境成功后的 NAME，如图 11 所示。
      
      
      ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583640160.png)
      图11
      
      启动命令执行后，可以看到 NAME 为**DevEnvVM_0q2G2l** 且 TYPE 为**Desktop** 的开发桌面已启动成功，状态为 **Running**。
      
   
   
   
   
5. **连接云开发环境**
   
   建立隧道连接云开发环境
   通过创建本地 PC 和远程云开发环境的隧道链接，可在本地设备与云端虚机之间搭建安全的加密通信通道。
   建立隧道连接命令如下：
   ```
   hdspace devenv start-tunnel --num=【num】 --instance-id=【instanceId】 --name=【name】 --ports=【ports】 --local-addr=【localAddr】
   ```
   参数说明：
   - **hdspace devenv start-tunnel：**固定建立隧道命令
   
   - **num(可选)：**数字，即为hdspace devenv list输出的NUM，与name， instance-id 之间必选一个。
   
   - **instance-id(可选)：** 字符串，即为上述步骤中创建的云开发环境 ID，与num， name 之间必选一个。
   
   - **name(可选):**创建云开发环境成功后的 NAME，与num， instance-id 之间必选一个。
   
   - **ports(必选)：**映射端口（0-65535），用','和':'分隔，格式为 local-port11:remote-port1,local-port12:remote-port2，如果映射端口只有一个，则本地和远程端口相同，如10022:22,10380:8080,8087 等。
   
   - **local-addr(可选)：**字符串，本地地址 (IPV4)，如果不设置, 默认 localhost(127.0.0.1)，如图 12 所示。
   
   
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583480258.png)
   图12
   
   至此，成功建立隧道连接至云开发环境。
   
   
6. **关闭云开发环境**
   
   如要关闭云开发环境，需退出云开发环境，返回本地终端目录后进行操作，如图 13 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613880045.png)
   图13
   
   关闭云开发环境命令如下，num, instanceId 与 name 必须选填一个，如图 14 所示。
   ```
   hdspace devenv stop --num=【num】 --instance-id=【instanceId】 --name=【name】
   ```
   参数说明：
   - **hdspace devenv stop：**固定关闭命令
   
   - **num(可选)：**数字，即为hdspace devenv list输出的NUM。
   
   - **instance-id(可选) :**创建云开发环境成功后的 ID。
   
   - **name(可选):**创建云开发环境成功后的 NAME。
   
   
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613999951.png)
   图14
   
   可以看到 **NAME** 为 **test1** 的虚机已经关闭了，状态为 **Stoping**。
   注：关机后，【关机中】状态无需做任何操作，等关机（耗时 1\~3 分钟）完成后，状态会变成【已就绪】，如图 15 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583640168.png)
   图15
   
   至此，云开发环境的虚机重新回到了 Ready 准备状态。
   
   
7. **删除云开发环境**
   
   当有需要删除云开发环境时，可使用删除命令进行云开发环境的虚拟机删除，命令如下，num, instanceId 与 name 必须选填一个：
   ```
   hdspace devenv delete --num=【num】 --instance-id=【instanceId】 --name=【name】
   ```
   参数说明：
   - **hdspace devenv delete：**固定删除命令
   
   - **num(可选)：**数字，即为hdspace devenv list输出的NUM。
   
   - **instance-id(可选) :**创建云开发环境成功后的 ID。
   
   - **name(可选):**创建云开发环境成功后的 NAME。
   
   
   删除后，【删除中】状态无需做任何操作，耗时 1\~3 分钟完成，如图 16 所示。
   ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002583480264.png)
   图16
   
   至此，完成了云开发环境虚机的删除操作。
   
   

8. **查看云开发环境** **详情**
   
   当有需要查询云开发环境详情时，可以使用查看详情命令，查询异常的具体原因，命令如下，num, instanceId 与 name 必须选填一个：
   ```
   hdspace devenv view --num=【num】 --instance-id=【instanceId】 --name=【name】
   ```
   参数说明：
   - **hdspace devenv view：**固定查看详情命令
   
   - **num(可选)：**数字，即为hdspace devenv list输出的NUM。
   
   - **instance-id(可选) :**创建云开发环境成功后的 ID。
   
   - **name(可选):** 创建云开发环境成功后的 NAME。
     ![](https://support.huaweicloud.com/devg-hdspace/zh-cn_image_0000002613880049.png)
     图17
     
     
   
   
   至此，完成了云开发环境的详情查看操作。
   
   
