华为云用户手册

  • 商务信息准备 商家需与华为对接人进行商务洽谈,确定最终上架的联营商品详情。 根据联营认证信息中提交的 “商品报价单”,与华为对接人进行最终的商务洽谈,确定最终的商品名称、规格名称、SKU名称、 定价 方式、计费模式、目录价、分成比例等信息,并填写最终的“商品报价单”用于后续商品发布上架。 “商品报价单”的填写方法:需根据商品报价单模板中的《填写操作指导》填写。报价单中商品信息与客户下单界面的对应关系,详见下图展示。
  • 基于客户需求创建 商家可与客户服务商联合销售,由客户服务商创建客户需求,商家接收需求并创建Private Offer,双方协商分成。商家可参考如下操作接收需求并创建Private Offer。 客户服务商提交客户需求的操作流程请参见《创建客户需求》。 客户服务商提交客户需求后,商家进入卖家中心; 点击左侧导航栏“客户需求管理”,进入客户需求管理页面,找到需要接收的客户需求,此时需求状态为“待接收”,点击操作列“接收”按钮; 需求状态变更为“需求转化中”,点击操作列的“创建专属优惠”; 进入创建专属优惠页面,系统会自动带出用户信息和需求商品信息,核对信息后,填写优惠名称和商务折扣等必填信息; 填写完成后,点击提交即可。 若填写的商务折扣在免审折扣范围内,则该商家优惠提交约10分钟后自动生效; 若填写的商务折扣不在免审折扣范围内,则需等待审批完成后,商家优惠创建成功。
  • 弹性资源池产品规格 弹性资源池为 DLI 作业运行提供所需的计算资源(CPU和内存)。弹性资源池的单位为CU,1CU包含1CPU和4GB内存。 您可以在弹性资源池中创建多个队列, 队列之间的计算资源支持共享。 通过合理设置队列的计算资源池分配策略,提高计算资源利用率。 DLI提供以下规格的计算资源,如表1所示。 表1 弹性资源池规格 类型 规格 约束限制 适用场景 基础版 16-64CUs规格 不支持高可靠与高可用。 不支持设置队列属性和作业优先级。 不支持对接Notebook实例。 其他弹性资源池使用相关约束限制请参考弹性资源池使用约束限制。 适用于对资源消耗不高、对资源高可靠性和高可用性要求不高的测试场景。 标准版 64CUs及以上规格 弹性资源池使用相关约束限制请参考弹性资源池使用约束限制。 具备强大的计算能力、高可用性、及灵活的资源管理能力,适用于大规模计算任务场景和有长期资源规划需求的业务场景。
  • 操作步骤 调用创建Workspace接口,创建一个工作空间,记录接口返回工作空间的ID。 请求示例: POST https://{hostname}/v1/workspaces Body: { "name": "apieworkspace", "description": "apie test workspace" } 响应示例: { "id": "e935d0ef-f4eb-4b95-aff1-9d33ae9f57a6", "name": "fabric", "description": "fabric", "create_time": "2023-05-30T12:24:30.401Z", "create_domain_name": "admin", "create_user_name": "user", "metastore_id": "2180518f-42b8-4947-b20b-adfc53981a25", "access_url": "https://:test.fabric.com/", "enterprise_project_id": "01049549-82cd-4b2b-9733-ddb94350c125" } 调用创建Endpoint接口,创建推理端点,记录接口返回的终端节点ID。 请求示例: POST https://{hostname}/v1/workspaces/{workspace_id}/endpoints workspace_id:为步骤1中记录的工作空间ID。 Body: { "name": "apie_test", "description": "apie test endpoint", "type": "inference", "reserved_resource": { "mu": { "spec_code": "mu.llama3.8b", "min": 0, "max": 1 } } } 响应示例: { "visibility": "PRIVATE", "id": "0b5633ba2b904511ad514346f4d23d4b", "name": "endpoint1", "type": "inference", "status": "CREATING", "description": "description", "create_time": "2023-05-30T12:24:30.401Z", "update_time": "2023-05-30T12:24:30.401Z", "owner": { "domain_name": "string", "domain_id": "xxx", "user_name": "string", "user_id": "xxx" } "reserved_resource": { "mu": { "spec_code": "mu.llama3.8b", "min": 0, "max": 1 } } } 调用创建模型接口,创建一个用户私有的模型,并记录接口返回模型ID。 请求示例: POST https://{hostname}/v1/workspaces/{workspace_id}/models workspace_id:为步骤1中记录的工作空间ID。 Body: { "name": "LLama3-8b", "description": "this is a apie test model", "type": "LLM_MODEL", "version": { "name": "v1", "description": "test description", "config": { "llm_model_config": { "base_model_type": "", "model_path": "" } } } } 响应示例: { "id": "ac8111bf-3601-4905-8ddd-b41d3e636a4e"} } 调用创建推理服务接口,创建一个推理服务,记录接口返回推理服务的ID。 请求示例: POST https://{hostname}/v1/workspaces/{workspace_id}/services/instances workspace_id:为步骤1中记录的工作空间ID。 Body: { "source": { "id": "" }, "name": "test_serviceInstanceName", "description": "description", "endpoint_id": ""} id:为步骤3中接口返回记录的模型ID。 endpoint_id:为步骤2中接口返回记录的推理端点ID。 响应示例: { "id": "b935d0ef-f4eb-4b95-aff1-9d33ae9f57b6" } 调用推理请求接口,发起推理请求。 请求示例: POST https://{hostname}/v1/workspaces/{workspace_id}/services/instances/{instance_id}/invocations workspace_id:为步骤1中记录的工作空间ID。 instance_id:为步骤4中记录的推理服务的ID。 Body: { "messages": [ { "role": "user", "content": "hello" } ] } 响应示例:推理请求接口为流式返回。 { "id": "chatcmpl-62dda7304f53451c9477e0", "object": "chat.completion.chunk", "created": 1730120529, "model": "ada1d67d-f2a1-4e77-838f-0d8688d756f4", "choices": [ { "index": 0, "delta": { "role": "assistant", "content": "\n\nHello! LLM stands for Large Language Model. It refers to artificial intelligence models, like myself," }, "finish_reason": null } ], "system_fingerprint": null, "usage": null }
  • 响应参数 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 状态码: 401 表12 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 状态码: 408 表13 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error_code String 参数解释:错误码。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 error_msg String 参数解释:错误描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。 solution_msg String 参数解释:解决方案描述。 约束限制:该值不可修改。 取值范围:不涉及。 默认取值:不涉及。
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并用于日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目特性的详细信息,请参见《企业管理服务用户指南》。
  • 状态码 状态码如下表所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表1 Fabric错误码 状态码 错误码 错误信息 处理措施 500 00000001 运行中,请稍后。 请休息下,重新获取。 400 00010003 工作空间不存在。 请先创建工作空间。 400 00010004 输入的桶不存在。 请检查输入的桶。 400 00010005 输入的协议版本不存在。 请检查输入的协议版本。 400 00010006 输入的协议版本不能为空。 请检查输入的协议版本。 400 00010007 资源清理任务id:xx错误。 请检查任务ID。 400 00010009 查询的资源不存在。 请输入正确的资源ID和项目ID。 400 00010011 该规格编码是无效的。 请输入正确的规格编码。 400 00010022 该特性【xx】为受限特性,面向白名单客户开放。 请联系运维人员申请白名单。 400 00010023 参数中的时间格式非法。 请使用合法的时间格式。 400 00010024 服务委托异常。 请在服务授权页面再次同意服务授权。 400 00010026 标签列表中的key重复 请检查标签列表中的键。 400 00010028 标签列表中成员的值列表中存在重复的值。 请检查标签列表中成员的值列表。 400 00010029 标签列表中的成员不能为NULL。 请检查标签列表中的成员。 400 00010030 条件列表中的成员不能为NULL。 请检查条件列表中的成员。 400 00010031 标签列表中成员的值列表不能包含NULL。 请检查标签列表中成员的值列表。 400 00010032 标签列表中成员的值列表不能为NULL。 请检查标签列表中成员的值列表。 400 00010033 条件列表成员的值不能为NULL。 请检查条件列表成员的值。 400 00010034 当前不支持批量删除系统标签。 请选择其他标签操作。 400 00010035 您没有权限操作系统标签。 请检查您的权限。 400 00010036 系统标签不能为空。 请检查系统标签参数。 400 00010037 系统标签和标签不能同时使用。 请选择系统标签或者标签中的一种。 400 00010038 请求未被授权。 请检查相关权限:xx,先授权再请求。 400 00010043 资源不足,无法创建工作空间。 请联系运维人员检查资源。 400 00010046 该接口达到限流阈值。 请稍后重试。 400 00010049 参数不合法,参数值是xx。 请检查参数是否合法。 400 00010051 没有发送消息权限。 请确认配置是否正确。 400 00010058 在过载控制中收集不到账号ID。 请检查账号信息。 400 00010059 接入租户未授权。 请检查接入租户是否已经授权。 400 00010060 接入租户已授权。 请不要重复授权接入租户。 400 00010062 当前任务状态下不能进行此操作。 请检查任务状态。 400 00010063 xx已存在。 请检查输入的任务名xx。 400 00010064 xx数量已达上限。 请删除空闲的任务后重新创建或联系运维人员提高数量上限。 400 00010065 风险检查失败。 请检查您的余额。 400 00010066 任务xx不存在。 请检查jobId。 400 00010067 初始化任务失败,可能已达任务上限。 请稍后重试。 400 00010068 应用当前状态为xx不能被删除,状态为DELETING或者DELETED的应用不能再次被删除。 当前应用已经是删除中或者已删除状态,无需再次删除 400 00010069 应用不存在。 请使用正确的应用ID。 400 00010071 没有找到该商品。规格编码:xx。 请购买已有的商品。 400 00010072 没有找到商品ID。 请重试。 400 00010073 没有权限购买xx规格 请购买其他商品。 400 00010075 应用当前状态为xx不能被更新,状态为STOPPED的应用才能被更新。 请等待应用状态为STOPPED之后再更新。 400 00010076 应用不存在 请使用正确的应用ID。 400 00010077 应用版本不存在 请使用正确的版本ID。 400 00010081 创建应用失败。错误原因:xx。 请根据失败原因重试。 400 00010082 日志文件不存在 请查看您配置的日志存储路径下是否有文件存在。 400 00010083 作业没有运行过 请查看确保您的作业运行过,才能查看日志。 400 00010084 任务正在运行中。 请检查任务状态,稍后重试。 400 00010085 任务未在运行中。 请检查任务状态,稍后重试。 400 00010086 xxQPS规格不存在。 请检查QPS规格。 400 00010089 桶对象不存在。 请检查OBS地址。 400 00010090 Yaml文件格式错误。 请检查YAML文件的格式。 400 00010091 许可证不存在,区域:xx,esn:xx。 请检查许可证是否存在。 400 00010092 无匹配许可证模式:xx。 请检查许可证模式。 400 00010093 许可证bbom为空。 请检查许可证bbom。 400 00010094 无匹配bbom编号:xx。 请检查bbom编号。 400 00010095 无匹配bbom类型:xx。 请检查bbom类型。 400 00010096 许可证解析失败。 请检查许可证文件内容。 400 00010097 许可证超量 请检查许可证。 400 00010098 许可证即将超量 请检查许可证。 400 00010099 无匹配的许可证内容,lsn:xx 请检查许可证文件内容。 400 00010100 无匹配bbom,区域:xx。 请检查许可证bbom。 400 00010101 许可证内容esn不匹配:xx,许可证esn:xx。 请检查许可证内容esn编号。 400 00010102 许可证内容已过期。 请检查许可证内容是否过期。 400 00010103 任务资源被占用。 请等待重试。 400 00010104 客户端接入模式不是自动创建模式。 请检查客户端接入模式。 400 00010105 创建应用版本失败,错误原因:xx。 请根据失败原因重试。 400 00010107 任务在未被授权的实例xx中。 请用户在xx实例被授权后再试。 400 00010108 任务在不存在的实例xx中。 请用户恢复被删除的xx实例,或在已有实例重新创建任务后再试。 400 00010110 SMN 消息校验失败。 请检查消息内容是否被篡改。 400 00010111 任务参数xx不存在。 请创建或修改任务使其包含参数xx。 400 00010116 输入的qps规格参数为空。 请检查输入的参数。 400 00010117 只需要一个qps规格参数。 请检查输入的参数。 400 00010118 特性目前暂不支持。 特性暂不支持,请等待版本更新。 400 00010120 数据源类型xx不支持。 请检查数据源类型。 400 00010121 权限策略类型xx不支持。 请检查权限策略类型。 400 00010122 输入的vpc网段与lakeformtion网段冲突。 请检查输入的vpc网段。 400 00010123 元数据迁移网络类型错误。 请检查迁移网络类型。 400 00010124 SMN服务传入了无效的确认订阅或证书url。 请传入https类型的URL。 400 00010125 DLF接入点错误。 请检查DLF接入点。 400 00010127 许可证的API访问请求控制项的容量不足。 请检查许可证的API访问请求控制项的容量。 400 00010128 迁移对象为空。 请检查任务中的迁移对象参数。 400 00010130 xx不存在。 请使用正确的条件。 400 00010132 xx已存在。 请检查输入。 400 00010133 注册CAP失败,xx。 请确认CAP的信息是否正确。 400 00010134 查询的用户不存在。 请输入正确的用户信息。 400 00010135 集群ID或session不正确 请输入正确的信息。 400 00010136 子网数量超出限制。 请检查输入中的子网数量。 400 00010137 删除cap失败,xx。 请检查cap共享状态以及设置cap当前版本为空。 400 00010138 创建Endpoint部署实例失败。错误原因:xx。 请参考日志定位失败原因或联系运维人员。 400 00010142 创建服务委托失败:xx。 请检查当前租户委托数量上限,或申请配额上限后重试。 400 00010143 xx资源不足,无法创建。 请检查您剩余的资源,确保您使用的资源小于剩余资源。 400 00010144 当前租户还拥有workspace,无法取消授权。 请将本租户拥有的workspace全部删除后,再取消授权。 400 00010145 类型错误,xx。 请输入正确的类型。 400 00010146 当前版本无法删除。 请等待版本不是当前版本的时候再删除。 400 00010147 没有资源访问权限。 请检查您访问资源的权限。 400 00010148 节点池不存在。 请检查输入。 400 00010149 不能删除共享的App。 请确认APP是非共享状态再删除。 400 00010150 请求的Endpoint不允许执行该操作。 请确认操作的不是默认Endpoint,并且按需endpoint只有name或description字段更新。 400 00010151 输入参数不合法,xx。 请输入正确的参数值:xx。 400 00010152 不能删除存在Job运行实例或Service实例的Endpoint。 请删除当前Endpoint下的Job运行实例和Service实例后,再重试。 400 00010153 当前Endpoint状态下不能进行此操作。 请检查Endpoint状态。 400 00010154 不支持的注册资源类型:xx。 支持以下资源类型:xx。 400 00010155 当前workspace下还拥有xx资源,无法删除。 请将当前workspace下xx资源全部删除后,再删除workspace。 400 00010157 要授权的obs路径已授权:xx。 请检查输入的obs路径参数。 400 00010158 OBS服务发生异常,OBS请求responseCode:xx,请求ID:xx。 请检查OBS服务状态和OBS路径:xx。 400 00010159 要授权的obs路径不存在或不是并行文件系统:xx。 请检查输入的obs路径参数。 400 00010162 工作空间名称已经存在。 请输入不同的工作空间名称。 400 00010163 不支持的策略类型:xx。 请参考官网的API文档输入正确的策略类型。 400 00010164 不能删除必需的权限策略:xx。 请检查输入。 400 00010165 不支持的消息类型:xx。 请参考官网的API文档输入正确的消息类型。 400 00010166 不支持的通知类型:xx。 请参考官网的API文档输入正确的通知类型。 400 00010167 没有授权SMN委托权限策略,无法使用 消息通知 功能。 请在服务授权界面授权SMN权限:xx。 400 00010168 当前工作空间消息通知策略数量已达上限:xx。 请先删除多余的消息通知策略再创建新的策略。 400 00010169 参数中存在相同的消息通知策略:xx。 请检查输入。 400 00010170 没有找到消息通知策略,策略ID:xx。 请输入已存在策略的ID。 400 00010171 OBS路径不存在:xx。 请检查OBS地址。 400 00010172 不支持的包周期回调操作类型xx。 请检查输入的操作类型。 400 00010173 不支持的企业项目IDxx。 请检查输入的企业项目ID。 400 00010174 当前app正在使用无法删除。 请等待App未被使用的时候再删除。 400 00010175 不能删除共享App的版本。 请确认App是非共享状态再删除版本。 400 00010176 当前Domain下工作空间创建数量已达到上限。 请删除空闲的工作空间后重新创建或联系运维人员提高数量上限。 400 00010177 CAP名称xx在当前工作空间xx已存在。 请使用其它CAP名称。 400 00010178 CAP版本名称xx在当前CAP中已存在。 请使用其它CAP版本名称。 400 00010179 操作App实例异常:xx。 请检查输入。 400 00010180 实例冻结不可释放。 请在实例解冻后删除。 400 00010181 冻结实例变更受限,仅允许修改基本信息。 请在实例解冻后操作。 400 00010183 请求的资源超限。 请检查最大资源限制配置。 400 00010185 该特性暂未开放。 请联系运维确认特性能力集。 400 00010188 metastore首次添加后不可修改。 请检查metastore是否发生改变。 400 00010189 有xx使用当前版本,无法删除。 请删除所有使用该版本的xx后再重试。 400 00010190 Job相关特性未开通。 请联系运维人员开通Job特性。 400 00010191 Ray相关特性未开通。 请联系运维人员开通Ray特性。 400 00010192 暂不支持修改端点的资源规格。 端点的资源规格暂不支持修改。 400 00010193 暂不支持的请求参数值{}。 请检查输入。 400 00010194 当前Workspace下创建的Endpoint数量已达到上限。 请删除空闲的Endpoint后重新创建或联系运维人员提高数量上限。 400 00010195 推理相关特性未开通。 请联系运维人员开通推理特性。 400 00010196 ray集群状态异常。 请删除后重新创建或联系运维人员。 400 00010197 计算资源状态非运行中。 请恢复计算资源状态或删除计算资源后新建一个。 400 00090002 在过载控制中收集不到账号ID。 请检查账号信息。 400 00090003 申请资源组时资源不足。 请扩容workspace中的资源。 400 00090004 找不到workspace。 请选择正确的workspace。 400 00090005 找不到endpoint。 请选择正确的endpoint。 400 00090006 找不到workspace中对应的资源。 请确认workspace中购买了对应的资源。 400 00090008 创建Endpoint失败。错误原因:xx。 请根据失败原因重试。 400 00090009 xx不存在 请选择正确的信息。 400 00090012 没权限使用:xx。 请检查是否有权限。 400 00090013 作业运行失败:xx。 请检查运行作业的配置信息。 400 00090014 无法删除活动中的任务:xx。 请等待任务运行完成或者停止正在运行的作业。 400 00090015 无法删除公共实例:xx。 请检查实例是否是公共的。 400 00090016 停止服务失败:xx。 请确认该实例是否可以取消。 400 00090017 停止任务失败:xx。 请检查该任务的状态。 400 00090018 更新任务失败:xx。 请确认该任务是否可以升级。 400 00090019 创建服务失败:xx。 请检查输入参数。 400 00090020 删除服务失败:xx。 请检查输入参数。 400 00090021 更新服务失败:xx。 请检查更新时的输入参数。 400 00090022 输入参数不合法,xx。 请输入正确的参数值:xx。 400 00090023 推理失败:xx。 请输入正确的推理请求:xx。 400 00090024 请求的Endpoint不允许执行该操作。 请确认操作的是按需Endpoint。 400 00090025 模型基础类型xx与Endpoint资源不匹配。 请检查app的基础模型类型是否和endpoint资源相匹配。 400 00010038 请求未被授权。 请检查相关权限:xx,先授权再请求。 400 00090047 Obs文件下载异常xx。 请检查Obs下载配置信息xx。 400 00090050 Obs非法路径异常xx。 请输入正确的Obs路径xx。 400 00090058 请求的资源超限。 请检查最大资源限制配置。 400 00090059 请求的Token为空 请携带Token访问。 400 00090060 APP实例副本已经存在于指定的引擎实例。 请检查输入的app实例副本ID是否重复或错误。 400 00090061 此方法未实现。 请勿使用此方法。 400 00090062 端点维护中。 请稍后重试或在其他端点上创建APP实例。 400 00090063 端点冻结中。 请尝试恢复端点状态或者联系运维人员。 400 00090064 端点未开通。 使用前请先开通公共端点 400 00090067 推理相关特性未开通。 请联系运维人员开通推理特性。
  • API概览 Fabric服务的API分为Fabric-admin和Fabric-ep两部分。其中Fabric-admin API用于对Fabric资源、作业、服务的管理。Fabric-ep API用于Fabric所提供的业务功能的实现。 表1 Fabric服务API概览 类型 子类型 说明 Fabric-admin 服务健康检查 服务健康检查。 用户协议管理 用户协议管理。 委托管理 委托管理。 Workspace管理 Workspace管理。 服务规格 服务规格。 端点管理 端点管理。 模型定义 模型定义。 TMS管理 TMS管理。 消息管理 消息管理。 监控管理 监控管理。 配置中心 配置中心。 Fabric-ep 列举已部署的Service实例 列举已部署的Service实例。 查看部署的Service实例详情 查看部署的Service实例详情。 部署服务 部署服务。 更新Service实例 更新Service实例。 删除Service实例 删除Seivice实例。 发起调用请求 发起调用请求。
  • 约束与限制 使用公共推理服务时的通用约束限制如下: Token配额约束:每种公共推理服务都有免费配额限制,超过配额不可用,也无法再购买。每种公共推理服务的配额为当前用户在当前局点下所有工作空间共享; 时间约束:有效期为服务开通90天内,超过时间则失效。同一个推理服务在不同工作空间下面开通,以首次开通为准。 不同的模型有不同的上下文长度约束,请见表公共推理服务。 不保证SLA,如果想要更高的性能,建议创建自己的推理服务进行推理;
  • 新增镜像包版本 在“镜像包管理”页面的“操作”列,单击目标镜像包对应的“查看版本列表”。 在“当前镜像包版本列表”页面,单击“新增版本”。 在新增镜像包版本页面,配置相关信息,然后单击“确认”。 界面参数说明请参见创建镜像包版本参数说明。 图4 创建镜像包版本 表2 创建镜像包版本参数说明 参数 参数说明 版本名称 镜像包支持有多个版本,请根据当前创建信息填入一个版本名称。镜像包版本需要和选择的OBS文件的包版本号一致。 路径 当前创建版本所在的OBS路径。请选择到包含metadata.yaml文件的父级目录。
  • 约束与限制 创建模型的通用约束如下: 需要是Fabric支持的基模型,否则不支持,基模型列表如下: 表1 基模型列表 基模型类型 描述 QWEN_2_72B Qwen2在包括 语言理解 、生成、多语言能力、编码、数学和推理在内的多个基准测试中,超越了大多数以前的开放权重模型,与专有模型表现出竞争力,参数规模为720亿。 GLM_4_9B GLM-4-9B是智谱AI推出的最新一代预训练模型GLM-4系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中表现出较高的性能,参数规模为90亿。 模型格式需要为safetensors的格式。safetensors是Huggingface推出的一种可靠、易移植的机器学习模型存储格式,用于安全地存储Tensor,而且速度快。样例如下: 图1 模型文件样例
  • 操作步骤 登录Fabric工作空间管理台,单击“服务授权”。 图1 服务授权界面 在服务授权页面配置授权委托。用户可以根据实际需要参照委托策略进行配置委托权限。 图2 服务授权配置 表1 委托策略 委托策略名称 权限项 是否必须 功能 FABRIC_COMMON_POLICY iam:tokens:assume iam:groups:listGroups iam:users:listUsers iam:roles:listRoles iam:groups:listGroupsForUser iam:agencies:listAgencies iam:roles:getRole iam:permissions:listRolesForAgency obs:bucket:ListAllMyBuckets obs:bucket:GetLifecycleConfigurationd obs:bucket:GetBucketLocation obs:bucket:ListBucket obs:object:GetObjectVersion obs:object:GetObject DataArtsFabric:workspace:list DataArtsFabric:endpoint:list DataArtsFabric:endpoint:show DataArtsFabric:endpoint:listRoute 是 IAM相关权限:仅委托部分只读权限,保证服务能够比较当前用户的委托和服务需要的委托,用于提示用户进行委托更新。 OBS相关权限:服务所有业务,包括作业,推理,都需要OBS文件的读取权限,保证后续能够从用户的OBS桶拉取到作业文件进行执行,模型文件进行部署。针对OBS的权限,用户可以在IAM的委托界面手动修改fabric_admin_trust委托中OBS相关的部分,限制服务可以访问的OBS资源,具体如何设置参考IAM权限,OBS自定义策略样例。 FABRIC_ AOM _POLICY aom:alarm:put 否 Fabric服务使用运维管理服务所需的权限。如果需要指标监控和告警能力,需要开启。 FABRIC_LAKEFORMATION_POLICY lakeformation:accessTenant:grant lakeformation:access:delete lakeformation:access:create lakeformation:access:describe lakeformation:access:describe lakeformation:agreement:grant lakeformation:agreement:describe lakeformation:agreement:cancel lakeformation:agency:create lakeformation:agency:drop lakeformation:agency:describe 否 Fabric服务使用LakeFormation服务所需的权限。如果需要对接LakeFormation,则需要开启。 FABRIC_SMN_POLICY smn:topic:publish 否 Fabric服务使用消息通知服务所需的权限。如果需要消息通知能力,则需要开启。 除必选的委托,其他委托权限都支持取消。
  • 准备工作 在执行操作前,需要提前完成如下准备工作,以满足操作的环境要求。 已购买AppStage的开发中心、运维中心 已关联组织 已配置AppStage各中心服务授权 已添加组织的部门/成员信息 已录入产品/服务/微服务信息 已获取组织管理员、项目经理、开发人员、测试人员、服务运维岗位、基础运维岗位或运维管理员权限,权限申请操作请参见申请权限。 AppStage租户需要在华为云上购买一个OBS桶并配置桶名(用于存放编译构建的产物),具体操作方法请参见创建桶。 父主题: 一站式应用开发、应用托管以及应用运维
  • 步骤五:安装日志采集插件 在“日志接入”页面,选择左侧导航栏的“集群插件管理”。 在集群列表中单击待安装插件的集群所在行“操作”列的“安装插件”。 在“插件安装”页面配置安装参数,具体内容如下所示,配置完成后,单击“确定”。 输入日志挂载路径:挂载到容器指定挂载点中的容器所在宿主机的文件目录,通常为宿主机上日志文件的hostpath目录。需要设置为单独的文件路径,不能设置为类似于/root、/home等包含有其他文件的目录,并且一个集群只能设置一个挂载路径。 需要对日志挂载路径执行chmod o+rx命令,确保日志采集容器的启动用户拥有该路径的访问权限。 选择主机:选择待安装插件的主机,默认全部勾选进行安装,可以去掉勾选不需要安装插件的主机,且当主机状态为“Active”时才可以正常安装插件。 选择日志配置组:选择日志配置组,安装插件并下发配置。
  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 宿主机上的日志文件的绝对路径(业务容器通过hostpath挂载到宿主机上的路径)。 可使用通配符进行匹配。 说明: 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:AC CES S_ LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRI CS _LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示,具体算子功能及使用样例请参见算子清洗功能介绍。 说明: 配置解析脚本时字段命名不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,已达到预期,单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 步骤四:创建日志配置组 在“日志接入”页面,选择左侧导航栏的“日志配置组”。 单击“创建日志配置组”。 设置日志配置组参数,参数说明如表5所示,配置完成后,单击“确定”。 表5 日志配置组参数说明 参数名称 参数说明 日志配置组名称 自定义日志配置组名称。 安装方式 选择安装方式,推荐使用“DAEMONSET”。 命名空间 当安装方式为“DAEMONSET”时,需要配置服务日志命名空间。 命名空间为hostpath的下一级目录名称,该目录下48小时内有日志文件更新,才会拉取日志采集配置,必须为英文名。 日志项目 选择已创建的日志项目。 配置类型 选择配置类型,即创建日志采集配置时选择的配置类型,根据配置类型会过滤采集配置列表中的数据。 采集配置列表 选择需要下发的配置。
  • 步骤四:创建任务 在“日志接入”页面,选择左侧导航栏的“任务管理”。 单击页面右上角的“新建任务”。 配置任务参数,如图1所示,参数说明如表5所示,配置完成后,单击“确定”。 图1 新建配置 表5 任务参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目。 任务名称 自定义任务名称。 任务类型 选择任务类型。 配置类型 选择日志采集配置类型。 配置列表 选择需要下发的配置。 用户名称 选择已规划并拥有日志读取权限的业务账号。 选择主机 选择需要下发配置的主机。 已选主机 显示已选主机。 在任务列表中查看已创建的任务,单击任务所在行“操作”列的“执行”,如图2所示。 图2 执行任务 执行完成后,状态为成功即表示日志配置内容已下发成功,即会按照配置将日志接入AppStage。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:ACCESS_LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRICS_LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示,具体算子功能及使用样例请参见算子清洗功能介绍。 说明: 配置解析脚本时字段命名不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,达到预期后可单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目。 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 填写实际日志路径,可使用通配符进行匹配。 说明: 接入容器日志需要根据通配符匹配完成。 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 如果采集路径是单个日志,则按照单个日志单台机器(pod)的TPS值填写,且按照高峰期计算。 如果采集路径配置了通配符,则将采集的日志TPS累加,累加计算高峰期单台机器(pod)的TPS,建议按近期业务增长预期填写。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 限制条件 绑定监控模板进行主机监控,支持的主机的操作系统如表1所示,其余类型的主机无法绑定监控插件。 表1 监控服务支持的主机操作系统 操作系统 系统版本 EulerOS EulerOS2.5、EulerOS2.9 CentOS CentOS 7.2、CentOS 7.6、CentOS 7.8、CentOS 7.9、CentOS 8.2 Ubuntu Ubuntu 18.04、Ubuntu 20.04、Ubuntu 22.04 Huawei Cloud EulerOS Huawei Cloud EulerOS 2.0 SUSE SUSE11、SUSE12、SUSE15、OpenSUSE 15.0
  • 操作步骤 在“服务环境管理”页面,单击待变更环境所在行“操作”列的“更新”,进入“更新环境”页面。 配置变更参数。 完成“变更基本配置”,单击“下一步”,会根据配置内容产生变更计划。 环境基本信息:作为环境的元数据无法修改、无法被更新。 服务级IaC包:选择服务级IaC包的版本和规格。服务级IaC包为“spec”类型的包,可以定义环境下的流水线和组件,以及组件下的资源。 变更任务流:基于用户选择的服务级IaC包,系统可以获取此包定义的所有流水线。可以选择其中一个用于执行变更,若不选择流水线,则系统会生成一条执行环境下所有组件的流水线。变更的内容是spec包中声明的所有组件。 组件级IaC包:选择流水线后,系统会根据流水线内容生成组件列表,可以基于列表中的元素选择需要变更的组件,或者为组件变更指定patch包,不指定patch包的组件将会基于spec包中对组件的定义进行变更; 如果没有选择流水线,那么系统将会展示选择的spec包中所定义的所有组件,同样地,也可以为组件指定用于变更的patch包。组件名称会根据自己的iacspec包代码的描述自动带出包中声明的组件,可以全量或者部分进行变更。 等待1~2分钟(具体时间长短取决于资源的数量以及当前系统的负载),变更计划生成完毕后,可以在“任务流程图”中查看此次变更的“变更流程图”和“变更流水线”,确认无误后可以点击“提交”执行变更。
  • 通过控制台申请资源 AppStage支持使用控制台完成资源申请,或者在华为云申请资源,然后接入至AppStage运维中心。 申请虚拟机:需要在华为云购买ECS虚拟机,然后将主机接入AppStage运维中心。 申请CCE集群:需要在华为云购买CCE集群,然后将容器集群接入AppStage运维中心。 申请数据库:需要在华为云购买数据库,然后将数据库接入AppStage运维中心,当前只支持RDS(for MySQL)、GeminiDB Cassandra、 GaussDB (for openGauss)/TaurusDB接入AppStage运维中心。
  • 步骤二:配置环境 在“服务环境配置”页面,选择左侧导航栏的“服务关联”。 在环境配置区域,选择待配置环境的环境名称。 单击“新增”,新增环境配置,具体参数如表2所示。 表2 环境配置参数 参数 说明 部门 选择已录入的部门。 产品 选择已录入的产品。 服务 选择已录入的服务。 华为公有云账号名 选择用户的华为账号名。 区域 选择使用的区域。 如果选择不到对应区域,需要将鼠标悬停在右上角的账号,在下拉列表选择“服务环境配置”,在“账号列表”页面单击对应账号后的“编辑”,然后单击“确定”,自动刷新该账号下的区域信息。 容灾区域 选择使用的容灾区域。 模式 环境中资源实例的部署模式,单云指部署一个AZ,双云指部署两个AZ。 单击“确定”,完成环境配置。 配置的环境会显示在环境配置列表中。
  • 步骤一:创建环境 进入AppStage运维中心。 将鼠标悬停在右上角的账号,选择下拉列表中的“服务环境配置”,选择左侧导航栏的“环境管理”。 单击“创建”,配置环境参数,具体参数如表1所示。 表1 创建环境参数 参数 说明 名称 填写环境名称,名称全局唯一,只能包含小写字母、数字以及下划线,不能以下划线开头。 用途 选择环境的用途。可选用途包括开发、测试、生产、安全和性能。 描述 环境的描述信息。 单击“确定”。
  • 步骤四:录入企业项目 在项目配置区域,单击“新增”。 新增项目配置,具体参数如表3所示。 表3 项目配置参数 名称 说明 部门 选择已录入的部门。 产品 选择已录入的产品。 服务 选择已录入的服务。 华为公有云账号名 选择用户的华为云账号名。 类型 关联项目:关联已有的公有云EPS。 关联且新增项目:在公有云EPS创建一个新项目,同时进行关联。 企业项目名称 关联项目时,选择已有的公有云EPS。 关联且新增时,填写创建的企业项目名称。 单击“确定”。
  • 管理单项测试结论 在“测试评估”页面选择“测试结论”页签,系统预置了四个测试类型:遗留DI值、功能评估、性能评估和安全评估。 单击“新增”,在“新增测试结论”页面,设置测试结论相关参数,如图2所示,参数说明请参见表2,设置完成后单击“确定”。 图2 编辑测试结论 表2 测试结论参数说明 参数名 参数说明 测试类型 输入测试类型。 测试结论 根据实际情况可设置为:通过、不通过或不涉及。 评估说明(可选) 测试评估的相关说明。 附件(可选) 单击“添加文件”,最多可上传一个附件文件辅助测试评估的说明,且只能上传ZIP、RAR、DOCX、DOC、XLS、XLSX格式文件,文件不能超过50MB。 说明: 用户需对自己上传文件的安全风险负责,开发中心不对用户自己上传的文件做任何处理。 添加文件后,如需变更文件,可光标移至文件,在文件右侧单击,将旧文件删除后,再单击“添加文件”重新上传新文件。
  • 管理版本缺陷 Scrum项目 在开发中心首页下方的“我的团队”区域,选择需要操作的团队卡片,进入该团队空间。 如果该团队关联多个服务,可在顶部切换团队关联的其他服务。也可在顶部切换其他团队。 在左侧导航栏选择“缺陷管理”,进入“缺陷管理”页面。 单击“创建缺陷”。 配置如表1所示参数,然后单击“确定”。 表1 创建Scrum项目缺陷参数说明 参数名称 参数说明 缺陷标题 输入缺陷标题,长度应在1~255个字符。 归属版本 选择缺陷归属的版本。 缺陷描述(可选) 输入缺陷描述。 当前处理人 选择缺陷的处理人。取值范围为该项目的全部成员。 IPD系统设备类项目和IPD独立软件类项目:请参考在IPD系统设备类项目中新建缺陷和在IPD独立软件类项目中新建缺陷。
  • 配置流水线(以添加业务包构建任务为例) 在流水线的“任务编排”页面,单击,新建阶段。 单击,在“编辑阶段”页面,修改“阶段名称”为“构建阶段”,并将“总是运行”设置为“是”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“构建阶段”,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“构建”页签,单击“Build构建”后的“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”,如图6所示。 图6 Build构建任务配置 在“新建构建任务”页面的“基本信息”页面,自定义任务名称(以“adadss-build”为例),归属项目默认为当前服务,源码源选择“Repo”,选择对应的代码仓库(以创建好的“adadss”仓库为例)以及分支“master”,单击“下一步”。 在“构建模板”页面,选择“空白构建模板”模板,然后单击“下一步”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。 配置构建步骤“Maven构建”。 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”,如图7所示。 图7 Maven构建 执行maven构建命令将业务代码打包,不同项目有所不同。 参考示例:mvn -Dassembly clean compile package -Dmaven.test.skip=true -U -T4 若某些jar包依赖不到,可将仓库地址添加在setting配置的公有依赖仓库。 配置镜像构建。 登录华为云 容器镜像服务 控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。 基础镜像tar包仅需上传一次,后续可直接从镜像文件列表中选取。 在镜像仓库找到9.a上传的基础镜像,参照图8复制镜像地址。 图8 复制镜像地址 将9.b复制的镜像地址粘贴到Dockerfile文件中第一行FROM命令后,如图9所示。 图9 将镜像地址粘贴到Dockerfile文件中 返回华为云容器 镜像服务 控制台镜像列表中单击镜像tar包名称,进入镜像详情页面,选择“Pull/Push指南”页签,单击“操作步骤”中的“生成登录指令”。 在“登录指令”对话框中的“临时登录指令”框的指令末尾处单击,复制临时登录指令,如图10所示。 图10 复制临时登录指令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“执行Docker命令”,鼠标移至该插件卡片并单击“添加”。 单击“执行Docker命令”步骤,在右侧“命令”参数下单击“添加”添加docker命令,在“命令”下拉框中选择“login”,参数框中输入9.e获取的临时登录指令中login后的部分,例如“-u cn-north-7@K5X8GVN5B4H4B8KB9SDO -p 1dd00acee886bd05886cded19f5af1cb1e96326e4354fc0f3f493f12a3586518 swr.cn-north-7.myhuaweicloud.com”,登录环境以便Dockerfile文件中可正常获取基础镜像。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“build”,并在参数框中输入命令,指定代码仓中的Dockerfile文件并构建镜像。 例如构建helloworldservice:23.11.02.1镜像,可输入“-t helloworldservice:23.11.02.1 -f ./deploy_docker/Dockerfile .”,其中“./deploy_docker/Dockerfile”为Dockerfile文件目录。 工作目录一般为根目录。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“save”,并在参数框中输入命令,将镜像包保存为tar包。 例如将elloworldservice:23.11.02.1镜像包保存为helloworldservice.23.11.02.1.tar包,可输入“-o helloworldservice.23.11.02.1.tar helloworldservice:23.11.02.1”。至此,添加docker命令完成,如图11所示。 图11 执行docker命令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。执行zip命令,将tar包与业务代码中的package.json文件直接压缩成一个zip包。 如下命令,将helloworldservice.23.11.02.1.tar和package.json文件压缩为helloworldservice_23.11.02.1.zip包。 zip helloworldservice_23.11.02.1.zip helloworldservice.23.11.02.1.tar package.json 继续单击“添加步骤”,添加“上传文件到OBS”插件,在“上传文件到OBS”页面,参照表3配置相关参数,配置完成后单击右上角“新建”,配置构建任务完成。 表3 “上传文件到OBS”(业务包)步骤配置的参数说明 参数名称 参数说明 步骤显示名称 构建步骤的名称,默认为“上传文件到OBS”,保持默认或自定义修改均可。 授权用户 在下拉列表选择: 当前用户:上传到当前租户的OBS桶。 其他用户:可以通过选择IAM账号的方式上传到指定租户的OBS桶。 IAM账号 “授权用户”选择“其他用户”时需配置此参数,配置步骤如下: 单击“管理IAM账号”,进入“服务扩展点管理”页面。 单击“新建服务扩展点”,选择“IAM账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的AK、SK即可: 连接名称:服务扩展点的名称。例如“obs权限”。 Access Key Id:访问密钥ID(AK),获取访问密钥AK/SK。 Secret Access Key:秘密访问密钥(SK),获取访问密钥AK/SK。 信息填写完成,单击“确定”。 构建产物路径 路径为10的zip包的相对路径或输入*模糊匹配(如“./DemoServiceB/*.zip”) 桶名 用户自定义构建结果上传到的目标OBS桶名。 OBS存储目录 用户自定义构建结果在OBS上的存储目录 OBS存储文件名 非必填项,构建结果在OBS上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为OBS存储文件名;不为空时只能上传单个文件,如 application.jar。 是否上传文件夹 非必填项,可选择是否开启上传文件夹。 OBS头域 非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止OBS中存放的网页被第三方网页嵌入。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择已配置完成的构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加业务包构建任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
共100000条