华为云用户手册

  • 开通服务 使用华为云账户登录控制台。 在左侧导航选择“IDE Online”。 单击页面右上角“开通按需”。 查看并确认服务开通详情,勾选“我已阅读并同意《CodeArts服务使用声明》”,并单击页面右下角“立即开通”。 在弹框中单击“确认”,如图1所示。 图1 确认开通 页面右上角提示开通进行中,成功开通后系统自动返回控制台。 在“开通记录”页签可查看服务开通记录,如图2所示。 图2 开通记录 开通完成后,单击页面右上角“立即使用”,进入CodeArts IDE Online首页,即可开始使用。
  • 创建IDE实例 登录服务首页。 单击“新建实例”,进入到“基础配置”页面,参考表1配置参数。如无法创建实例,需完成开通服务。 表1 基础配置参数说明 参数名 说明 名称 自定义实例名称。 支持输入数字、字母、“_”、“.”和“-”。 以数字、字母开头和结尾。 长度为3~100。 描述 自定义对实例的描述。长度不超过100个字符。 技术栈 请根据实际情况选择技术栈类型。目前支持的类型有: All in One(包括以下所有技术栈) Java(最高支持JDK11.0.17) C/C++ Python(最高支持版本为3.8) NodeJS(最高支持版本为16.19.0) Go(最高支持版本为1.19.4) Blockchain CPU架构 根据实际需要选择。 鲲鹏计算:鲲鹏采用精简指令集(RISC)。 X86计算:X86采用复杂指令集(CISC) 。 CPU/内存 系统根据所选技术栈默认匹配对应配置。 存储容量 支持三种,请根据实际需要选择。 5GB 10GB 20GB 自动休眠 实例无操作超过一段时间后,将会被自动休眠,如需操作实例需重新启动实例。请根据实际需要进行配置。 30分钟 60分钟 4小时 24小时 永不休眠 单击“下一步”,进入“工程配置”页面,参考表2配置工程信息。 表2 工程配置参数说明 工程来源 参数名 说明 样例工程 工程名称 自定义工程的名称。 可输入字母、数字、符号“-”和“_”。 字符长度1~127。 工程模板 工程文件来源于选择的模板,根据步骤2中选择的“技术栈”类型不同,对应“模板”也不同。请根据需要选择对应的“模板”。 私有仓库 项目名称 工程文件来源于当前用户在需求管理服务中已创建或具有权限的项目。选择工程所属项目的名称即可。 仓库地址 当前用户所属项目下拥有权限的代码仓库地址,仓库地址获取方式可参考查看仓库详情。 分支 从代码仓库中获取的具有权限的分支。 名称 工程的名称。默认为代码仓库的名称。 不创建工程 若不创建工程直接进入实例,默认没有相关工程文件在实例内,需要用户在实例内新建或者导入工程。 单击“确定”,IDE实例创建完成,系统自动进入IDE工作界面。
  • 单文件一键调试 对于单文件或多文件工程,CodeArts IDE Online支持一键编译调试。操作步骤如下: 打开源文件,参考添加断点为文件添加断点。 选中需要调试的代码,鼠标右键选择“Build and Debug Active File”。 选择执行平台。 默认选择Internal Console。 若程序需要从stdin读取,需要选择Integrated Terminal。 也可以打开.theia/launch.json,把配置中的console项设置为internalConsole或integratedTerminal进行修改。
  • 约束限制 华为云CloudShell是一款用于管理与运维云资源的网页版Shell工具,通过CloudShell可以完成登录弹性云服务器、连接集群等操作。CloudShell目前支持Windows和Linux系统。 用户在使用CloudShell时,同时打开的实例数量和会话数量有如下限制: 表1 约束限制 场景 实例数量 会话数量 连接云服务器 4 10个/实例 连接CCE集群/容器 15 不涉及 命令行工具 1 不涉及 父主题: CloudShell相关操作
  • 精确配置代码跳转 对于复杂工程,如果自动扫描结果不能令人满意,则需要配置一个名为“编译数据库”的文件,配合C/C++插件使用。 “编译数据库”是一个JSON格式、名为“compile_commands.json”的文件。当前可以通过以下三种方式生成“compile_commands.json”。CMake和Clang自带支持生成“compile_commands.json”,对于make和ninja管理的工程,则可以用bear工具,具体操作参考如下: CMake 设置 CMAKE_EXPORT_COMPILE_COMMANDS,可以带参数执行。 cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON… 或在“CMakeLists.txt”文件中添加如下信息。 set(CMAKE_EXPORT_COMPILE_COMMANDS ON) Clang (version 5.0 and later) 使用 -Mj 参数 (参考)。 Bear 与 intercept-build 工具 Bear 和 intercept-build(来自 scan-build) 可以帮助生成“compile_commands.json”文件。Ubuntu系统可用“sudo apt-get install bear”命令安装 bear工具。
  • 功能列表 CodeArts IDE Online功能列表如表1所示。 表1 功能列表 功能 描述 一键式环境获取 一键式获取云端基于容器的工作空间,并可在不需要时释放。 预置技术栈 预置多种技术栈,创建工作空间时选取预置技术栈可获得更快的环境配置能力。 按需配置资源 可按需选择工作空间的计算资源规格(micro或medium)和存储资源规格(GB)。 工作空间启动和停止 启动工作空间,获取由页面编辑器+运行环境+云端存储组成的 集成开发环境 。 停止工作空间可立即释放计算资源。 访问和配置后端环境 基于页面终端模拟器(WebTerminal)可以以命令行访问和配置后端环境。 多语言代码编写 支持40多种编程语言的语法高亮,以及Java等主流语言的代码智能提示。 代码构建和运行 容器化的运行环境可以构建(Build)和执行(Run)代码,并可查看运行结果及输出日志。 代码调试和预览 代码调试功能可支持Java等语言的在线代码调试,对Web类和接口类应用可提供页面预览或接口调用。 对接Git代码仓库 支持对接Git配置库(代码仓库),实现如Commit、Branch、Push等操作,支持第三方代码仓库(如GitHub)。 企业租户管理权限 向企业租户提供基于黑白名单的企业用户CodeArts IDE Online使用权限控制。
  • 什么是CodeArts IDE Online CodeArts IDE Online是云端开发环境服务,向开发者提供按需配置、快速获取的工作空间(包含编辑器和运行环境),支持完成环境配置、代码阅读、编写代码、构建、运行、调试、预览等操作,并支持对接多种代码仓库。 CodeArts IDE Online基本特性如表1所示。 表1 CodeArts IDE Online基本特性 特性 描述 云化和轻量化 依托华为云的计算和存储资源,实现云化开发环境供给,通过浏览器访问即可完成开发全过程,实现移动办公。 快速按需容器化 用户工作空间基于全容器技术,极短时间即可按用户所需配置(计算和存储)启动并提供服务,用后可随时释放。 多语言和技术栈 支持40多种语言的语法高亮,支持Java等语言的语法补齐,支持7种预置技术栈,无需复杂配置环境即可就位。 视图风格可切换 提供亮色和暗色两种视觉风格,编辑器提供多种视图布局,同时支持满屏编辑和边栏收缩。 后端环境可配置 提供页面终端(WebTerminal)直接访问后端容器环境,以命令行设置变量、处理文件和配置其他环境因素。 构建运行和调试 提供命令管理器以支持构建(Build)和运行(Run),对Java等语言支持断点调试。 可对接三方服务 除了对Git仓库(在 代码托管服务 中创建的仓库或GitHub等)的支持,还提供对接第三方服务(即通过外网通道对接其他开放服务)的能力。 企业化权限管控 提供基于黑白名单的访问控制能力,为企业租户提供掌控子用户行为的管理面。
  • CodeArts IDE Online权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CodeArts IDE Online部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CodeArts IDE Online时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对CodeArts IDE Online服务,管理员能够控制IAM用户仅能对实例进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,CodeArts IDE Online支持的API授权项请参见策略及授权项说明。 如表1所示,包括了CodeArts IDE Online的所有系统权限。 表1 CodeArts IDE Online系统权限 策略名称 描述 类别 CloudIDE FullAccess CodeArts IDE Online所有权限。 系统策略 CloudIDE ReadOnlyAccess CodeArts IDE Online只读权限。 系统策略 CloudIDE InstanceManagement CodeArts IDE Online实例管理权限,用户可以管理自己拥有的实例、访问被分发给自己的实例。 系统策略 CloudIDE Development CodeArts IDE Online开发权限,包括查看、启动、停止、访问实例等操作。 系统策略 表2列出了CodeArts IDE Online常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表2 常用操作与系统权限的关系 操作 CloudIDE FullAccess CloudIDE ReadOnlyAccess CloudIDE InstanceManagement CloudIDE Development 查询指定IDE实例详情 √ √ √ √ 创建IDE实例 √ × √ × 删除IDE实例 √ × √ × 启动IDE实例 √ × √ √ 停止IDE实例 √ × √ √ 访问IDE实例 √ × √ √ 修改IDE实例(仅修改描述和名称) √ × √ × 分发实例给访问者 √ × √ × 授权实例给用户 √ × √ × 重置实例 √ × √ × 查询用户实例列表 √ √ √ √ 查询租户实例列表 √ √ × × 获取技术栈 √ √ √ √ 查询模板工程 √ √ √ √ 表3 常用操作与对应授权项 操作 授权项 备注 查询指定IDE实例详情 cloudIDE:instance:get 无 创建IDE实例 cloudIDE:instance:create 无 删除IDE实例 cloudIDE:instance:delete 无 启动IDE实例 cloudIDE:instance:start 无 停止IDE实例 cloudIDE:instance:stop 无 访问IDE实例 cloudIDE:instance:access 只有实例的访问者才能访问实例 修改IDE实例(仅修改描述和名称) cloudIDE:instance:update 无 分发实例给访问者 cloudIDE:instance:assign 无 授权实例给用户 cloudIDE:instance:auth 无 重置实例 cloudIDE:instance:reset 无 查询用户实例列表 cloudIDE:instance:listInstances 无 查询租户实例列表 cloudIDE:instance:listOrgInstances 无 获取技术栈 cloudIDE:stack:list 无 查询模板工程 cloudIDE:template:list 无 表4 授权项与对应条件键 条件键 类别 条件类型 action关联 cloudIDE:instanceUser 云服务自定义条件 String cloudIDE:instance:get cloudIDE:instance:delete cloudIDE:instance:update cloudIDE:instance:start cloudIDE:instance:stop cloudIDE:instance:auth cloudIDE:instance:assign cloudIDE:instance:reset cloudIDE:instanceVisitor 云服务自定义条件 String cloudIDE:instance:get cloudIDE:instance:start cloudIDE:instance:stop cloudIDE:instance:access
  • 文档修订记录 文档修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。 修订记录 发布日期 第八次正式发布。变更说明如下: 服务名称变更为CodeArts IDE Online 2023-02-16 第七次正式发布。变更说明如下: 删除鲲鹏限时免费相关内容。 2021-12-15 第六次正式发布。变更说明如下: 新增权限管理。 2021-08-24 第五次正式发布。变更说明如下: 更新鲲鹏免费信息。 2021-04-20 第四次正式发布。变更说明如下: 补充“计费说明”页面。 2020-04-10 第三次正式发布。变更说明如下: 服务概述全新更新。 功能列表全新更新。 2018-11-30 第二次正式发布。变更说明如下: 增加代码构建、运行、调试功能。 增加WebTerminal连接云端开发环境。 2018-07-10 第一次正式发布。 2017-07-15
  • 应用场景 应用:服务化Web应用。 场景特点:开发者受限于无本地环境无法开发。通过Web直接访问CodeArts IDE Online,实现随时随地开发。 适用场景:适用于基于容器的服务化Web应用开发,保障快速搭建一致的开发环境,随时在线编写代码。 优势: 本地零资源消耗:依托线上容器技术,开发对本地资源的要求趋近于零,开发资源的获取从预支转变为按需。 跨平台接入:跨越开发平台的差异,开发者通过Web方式进入IDE,代码、检查、构建、部署、调试能力尽享。 语言支持:对多种开发语言的支持,Java、PHP、NodeJS等语法高亮、在线检查、随时入库。
  • 安装TensorFlow 进入CodeArts IDE Online实例,创建并打开一个空白工作目录,命令如下。 mkdir ai-test 使用pip安装TensorFlow等依赖包,为加快安装速度此处安装的是tensorflow-cpu,命令如下。 12 python3 -m pip install tensorflow-cpu matplotlib numpypip install ipython==8.10.0
  • CodeArts IDE Online最佳实践汇总 本文汇总了基于CodeArts IDE Online常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导。 表1 CodeArts IDE Online最佳实践一览表 最佳实践 说明 2-基于CodeArts IDE Online快速开发、部署微服务 本实践主要讲述在CodeArts IDE Online中如何快速将开发好的微服务部署到华为云容器服务并进行快速验证的过程。 3-基于CodeArts IDE Online快速开发、发布 WeLink 应用 本实践主要讲述基于CodeArts IDE Online快速开发、发布WeLink应用。 4-基于CodeArts IDE Online、TensorFlow和Jupyter Notebook开发深度学习模型 本实践主要讲解如何在CodeArts IDE Online中使用TensorFlow和Jupyter Notebook完成神经网络模型的训练,并利用该模型完成简单的图像分类。
  • 预览 程序开发完毕,通过使用WeCode Toolkit插件,CodeArts IDE Online中开发的We码小程序可被上传到临时仓库,并可以预览。 单击“Preview/Upload”,在“My Apps”列表中,选择刚刚新建的WeLink应用,并单击“Attach”。 图2 WeCode Toolkit插件中上传预览 等待We码小程序上传至临时仓库后,可通过手机端WeLink扫码预览。 图3 "WeCode Toolkit"插件中扫描二维码以预览 打开手机Welink扫码后,手机上就可以看到该应用的预览版。 图4 We码小程序预览
  • 准备We码小程序开发环境 登录CodeArts IDE Online,单击“新建实例”。 如果提示未开通则根据提示跳转至开通页面完成服务开通。 在“基础配置”页面,填写相关信息(其中,“技术栈”项选择“NodeJS”),单击“下一步”。 进入“工程配置”页面,选择we码的模板工程(模板名以wecode开头)。 配置完成后,单击“确定”,实例开始启动,浏览器会自动跳转到IDE实例。 父主题: 基于CodeArts IDE Online快速开发、发布WeLink应用
  • 发布We码小程序 通过CodeArts IDE Online上的WeCode Toolkit插件,可以将编写调试完毕的We码小程序上传发布到WeLink应用市场(这样手机上的WeLink应用可以搜索并安装这个已经发布的We码小程序)。 单击“Upload”,将We码小程序发布到云端的发布仓库,然后进入“版本与发布”页面,单击“提交审核”,准备正式发布。 父主题: 基于CodeArts IDE Online快速开发、发布WeLink应用
  • 导入和预处理训练数据集 参考TensorFlow官网的教程,创建一个简单的图片分类模型。 查看当前TensorFlow版本,单击或者敲击Shift+Enter运行cell。 1 2 3 4 5 6 7 8 910 from __future__ import absolute_import, division, print_function, unicode_literals# TensorFlow and tf.kerasimport tensorflow as tffrom tensorflow import keras# Helper librariesimport numpy as npimport matplotlib.pyplot as plt# print tensorflow versionprint(tf.__version__) 下载Fashion MNIST图片数据集,该数据集包含了10个类型共60000张训练图片以及10000张测试图片。 123 # download Fashion MNIST datasetfashion_mnist = keras.datasets.fashion_mnist(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 对训练数据做预处理,并查看训练集中最开始的25个图片。 1 2 3 4 5 6 7 8 9101112131415 class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']# preprocessingtrain_images = train_images / 255.0test_images = test_images / 255.0# display first 25 imagesplt.figure(figsize=(10,10))for i in range(25): plt.subplot(5,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(train_images[i], cmap=plt.cm.binary) plt.xlabel(class_names[train_labels[i]])plt.show() 父主题: 基于CodeArts IDE Online、TensorFlow和Jupyter Notebook开发深度学习模型
  • 部署微服务到CCI容器实例 配置Profile Profile是一组API调用鉴权所需配置的抽象,Profile中的相关信息可通过访问我的凭证获取,有了这些信息就可以获取到镜像列表、vpc列表、cci负载/命名空间等数据。 name:用于标识区分不同的Profile,只能输入大小写英文字母、下划线、中划线。 ProjectID:对应项目ID。 ProjectName:对应项目名称的英文。 Region:将控制台切换到区域项目所在region,网页URL中的region字段,如:cn-north-4。 UserID:用户ID。 UserName:用户名。 AK/SK:下载管理访问密钥页面中密钥excel文件,注意该文件的下载只有首次添加可以下载。 添加Namespace 选择不同的Profile,Namspace列表不尽相同,每一组profile对应不同的鉴权信息。 CCI命名空间参考文档。 创建Deployment 选择Profile和Namespace后,单击“Add”会出现deployment的配置输入,如果需要配置更多,则可以单击“Go to Portal”跳转至CCI页面进行创建。 如果Pod中的镜像启动需要监听端口并且需要开放外部访问权时,则需要增加容器端口跟elb端口的映射关系,其中elb的端口一定要填写未被占用的。 如果Pod中的镜像启动无监听端口或者不需要开发外部访问权时,则网络映射配置中的“Type”选择“Not enable”。 创建完成后,单击“Upgrade”将在IDE中直接升级负载,放弃升级则单击“Cancel”,如果希望跳转到CCI页面进行升级,则只需要单击与“Upgrade”平级的“Go to Portal”即可。 单击“Delete”,当前deployment则会被立即删除并附带删除配置的service数据。
  • 创建和训练模型 命令如下: 1 2 3 4 5 6 7 8 91011 # create modelmodel = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense(128, activation='relu'), keras.layers.Dense(10)])model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])# trainingmodel.fit(train_images, train_labels, epochs=10) 父主题: 基于CodeArts IDE Online、TensorFlow和Jupyter Notebook开发深度学习模型
  • 为什么CCE工作负载拉取SWR内的镜像异常,且提示为“未登录”? 当CCE工作负载无法正常拉取SWR的镜像,且提示“未登录”时,请排查该工作负载的yaml文件中是否存在“imagePullSecrets”字段,且name参数值需固定为default-secret。 示例: apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: nginxspec: replicas: 1 selector: matchLabels: app: nginx strategy: type: RollingUpdate template: metadata: labels: app: nginx spec: containers: - image: nginx imagePullPolicy: Always name: nginx imagePullSecrets: - name: default-secret
  • 问题描述 假设在本地Docker客户端上制作了一个nginx镜像,版本号为v5,使用docker images命令查询SIZE为22.8MB: $ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx v5 22f2bf2e2b4f 9 days ago 22.8MB 通过客户端(即执行docker push命令)上传该镜像至SWR镜像仓库,查询大小为9.5MB。 在本地Docker客户端将镜像打包为tar格式,将nginx.tar下载至本地后,通过页面方式上传至SWR镜像仓库,查询大小为23.2MB。 可以发现,通过客户端和页面上传的镜像大小不一样。
  • name invalid: 'repository' is invalid 问题现象:使用客户端上传镜像,报如下所示错误: “name invalid: 'repository' is invalid” 问题原因:组织命名或镜像命名不规范。 解决方法:以下分别是组织名(namespace)和仓库名(repository)的命名正则表达式: namespace:^([a-z]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-64; repository:^([a-z0-9]+(?:(?:(?:_|__|[-]*)[a-z0-9]+)+)?)$,长度范围为:1-128。 您可以按照上述命名规范,重新指定上传的组织和镜像名称。
  • 是否支持跨区域同步镜像? 目前支持跨区域同步镜像的局点有:“华北-北京一”、“华北-北京四”、“华北-乌兰察布一”、“华东-上海一”、“华东-上海二”、“华南-广州”、“西南-贵阳一”、“中国-香港”、亚太-曼谷”、“亚太-新加坡”、“非洲-约翰内斯堡”区域同步镜像。 其他区域的用户如果想把最新推送的镜像同步到其他区域镜像仓库内,可以先将镜像下载到本地,然后上传到需要同步区域的镜像仓库中。 父主题: 镜像同步
  • 为什么CCE工作负载拉取SWR内的镜像异常,且提示为“未登录”? 当CCE工作负载无法正常拉取SWR的镜像,且提示“未登录”时,请排查该工作负载的yaml文件中是否存在“imagePullSecrets”字段,且name参数值需固定为default-secret。 示例: apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: nginxspec: replicas: 1 selector: matchLabels: app: nginx strategy: type: RollingUpdate template: metadata: labels: app: nginx spec: containers: - image: nginx imagePullPolicy: Always name: nginx imagePullSecrets: - name: default-secret 父主题: 其他
  • 什么是 容器镜像服务 ? 容器 镜像服务 (SoftWare Repository for Container,简称SWR)是一种支持容器镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。 通过使用容器镜像服务,您无需自建和维护镜像仓库,即可享有云上的镜像安全托管及高效分发服务,并且可配合云容器引擎 CCE、云容器实例 CCI使用,获得容器上云的顺畅体验。 欲了解更多请参见产品介绍。 父主题: 通用类
  • OTT频道管理接口 表1 OTT频道管理接口 接口 说明 POST /v1/{project_id}/ott/channels 新建OTT频道 GET /v1/{project_id}/ott/channels 查询频道信息 DELETE /v1/{project_id}/ott/channels 删除频道信息 PUT /v1/{project_id}/ott/channels/endpoints 修改频道打包信息 PUT /v1/{project_id}/ott/channels/input 修改频道入流信息 PUT /v1/{project_id}/ott/channels/record-settings 修改频道录制信息 PUT /v1/{project_id}/ott/channels/general 修改频道通用信息 PUT /v1/{project_id}/ott/channels/state 修改频道状态 PUT /v1/{project_id}/ott/channels/encorder-settings 修改频道转码模板信息
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于管理员创建IAM用户接口,您可以从接口的请求部分看到所需的请求参数及参数说明,将消息体加入后的请求如下所示,其中加粗的字段需要根据实际值填写。 accountid为IAM用户所属的账号ID。 username为要创建的IAM用户名。 email为IAM用户的邮箱。 **********为IAM用户的登录密码。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/usersContent-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** { "user": { "domain_id": "accountid", "name": "username", "password": "**********", "email": "email", "description": "IAM User Description" } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“X-Subject-Token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于管理员创建IAM用户接口,使用AK/SK方式认证时,添加消息头后的请求如下所示。 1234 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/usersContent-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要创建IAM用户,由于IAM为全局服务,则使用任一区域的Endpoint,比如“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在管理员创建IAM用户的URI部分找到resource-path(/v3.0/OS-USER/users),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在管理员创建IAM用户的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 描述 处理措施 400 LIVE.100011001 Invalid request parameter. 请求参数非法。 可能缺少必要参数,或者参数值格式不正确,具体错误信息请查看错误描述 error_detail 字段。 400 LIVE.100011004 The protocol is not supported. The API only supports the HTTPS protocol. 协议不支持,当前API仅支持https协议,不支持http协议 请使用https协议 400 LIVE.100011006 This API is not supported in this version or is in the maintenance state. 本版本内不支持此接口或该接口处于维护状态 请稍后重试或者联系客服人员帮忙解决 400 LIVE.100011008 The API is in the maintenance state. 当前接口处于停服维护状态 请稍后重试,或提交工单,申请技术客服协助解决问题 400 LIVE.100011009 The requested user does not exist. 请求用户不存在 请确认用户的输入信息是否正确 400 LIVE.100011011 The method specified in the request is not supported. 处理禁用请求中指定的方法 确认请求的http方法是否正确 400 LIVE.100011012 Unsupported media type. 不支持的媒体类型异常 提交工单,申请技术客服协助解决问题 400 LIVE.100011013 You have not completed real-name authentication. 用户没有实名认证 请先进行实名认证 400 LIVE.100011022 LIVE.Record task exist. 录制任务已存在 停止录制命令下发之后,再次对相同流下发开始录制命令,必须间隔10秒以上。 400 LIVE.103011018 The resource already exists. 资源已存在 确认要操作的资源是否已经存在 400 LIVE.103011020 The maximum number of domain names has been reached. 域名数量超过配额 超过租户最大域名添加上限,删除不必要的域名再添加;如确有必要超额添加,请提交工单申请技术客服审核 400 LIVE.103011021 Failed to access the database. 访问DB失败 提交工单,申请技术客服协助解决问题 400 LIVE.103011022 This operation is not allowed in the current state. 当前域名的状态不支持此操作 确认域名当前状态:非停用状态不可修改、删除 400 LIVE.103011024 The ICP number does not exist. 域名对应的ICP编号不存在 请检查ICP编号是否正确 400 LIVE.103011025 The approved ICP number cannot be modified. 审核通过的许可证号不允许修改 ICP编号在首次添加审核通过后不允许修改,如有修改必要请提交工单,申请技术客服协助解决问题 400 LIVE.103011026 The domain name is in the blacklist. 域名在黑名单网站中 更换合法注册的域名进行操作 400 LIVE.103011027 The domain name is in the blacklist. 域名在非法接入黑名单中 更换合法注册的域名进行操作 400 LIVE.103011029 The domain name is in gray configuration. 此域名存在灰度配置,配置下发失败 提交工单,申请技术客服协助解决问题 400 LIVE.103011030 This domain name has customized configuration. 此域名存在定制化配置,配置下发失败 提交工单,申请技术客服协助解决问题 401 LIVE.100011002 Identity authentication failed. 身份认证失败。 一般是由于签名计算错误导致的,请参考文档中签名方法部分。 401 LIVE.100011003 You do not have permission to access the API. 未授权访问接口 请联系主账号管理员开通接口权限 401 LIVE.100011014 Your account is not allowed to access the service, because it is frozen, deleted, or has insufficient balance. 用户当前状态不允许访问,比如冻结、删除、余额不足。 华为云账户异常,请确认是否处于欠费冻结或停用状态 401 LIVE.100011015 Project ID verification failed. projectID校验失败 确认请求中的项目ID及请求头部 403 LIVE.103011016 Invalid request content. 请求内容非法 请求参数不合规范 404 LIVE.103011019 The resource does not exist. 资源不存在 确认要操作的资源是否存在或租户账号信息是否正确 500 LIVE.100011000 Internal communication error. 内部服务器通信异常 提交工单,申请技术客服协助解决问题 500 LIVE.100011005 Internal server error. 服务器内部出现错误 请稍后重试或者联系客服人员帮忙解决 500 LIVE.100011007 The number of concurrent API requests exceeds the upper limit. 接口请求超过并发限制 提交工单,申请技术客服协助解决问题 500 LIVE.103011017 Failed to synchronize data to CDN. 同步数据到CDN失败 确认域名是否已经备案并向有关部门申请取得许可;如果确认域名合法依然失败,请提交工单,申请技术客服协助解决问题 500 LIVE.103011023 Failed to synchronize the domain name to GSLB. 同步域名到GSLB失败 提交工单,申请技术客服协助解决问题 500 LIVE.103011028 Failed to synchronize the domain name to DNS. 同步域名到DNS失败 提交工单,申请技术客服协助解决问题 父主题: 附录
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全