华为云用户手册

  • 约束与限制 暂不支持使用公网迁移本地NAS存储至SFS容量型文件系统。 仅支持使用Linux系统的云服务器进行数据迁移。 文件UID和GID在同步操作后将不再保持一致。 文件访问模式同步操作后不再保持一致。 端口号22的出入方向需允许访问。 支持实现增量迁移,即只迁移发生变化的数据。 通过 rclone 工具进行同步时,在执行命令之前写入的数据,可以完全同步;在执行命令之后写入的数据,不能保证完全同步。
  • 操作步骤 登录弹性云服务器管理控制台。 登录已创建好的Linux系统云服务器,用于同时访问本地NAS存储和云上SFS Turbo文件系统。 输入以下挂载命令,用于访问本地NAS存储。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 本地NAS挂载地址 /mnt/src 输入以下挂载命令,用于访问云上文件系统。 mount -t nfs -o vers=3,timeo=600,noresvport,nolock 文件系统挂载地址 /mnt/dst 在Linux云服务器中执行以下命令安装rclone工具。 wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificateunzip rclone-v1.53.4-linux-amd64.zipchmod 0755 ./rclone-*/rclonecp ./rclone-*/rclone /usr/bin/rm -rf ./rclone-* 执行以下命令,进行数据同步。 rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs 参数说明如下,transfers和checkers数目可以根据系统规格自行配置: --transfers:传输文件的并发数目。 --checkers:扫描本地文件的并发数目。 -P:数据拷贝进度。 --links:复制源端的软链接,目的端保持为软链接的形式。 --copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。 --create-empty-src-dirs:复制源端的空目录到目的端。 等待数据完成同步后,可前往目标文件系统查看是否已成功迁移。
  • 方案概述 用户可以将本地NAS存储中的数据,通过云专线和rclone工具迁移至云上SFS Turbo文件系统中,进行云上业务拓展。 此方案通过在云上创建一台Linux操作系统的云服务器,来连接本地NAS存储以及云上SFS Turbo文件系统的通信,并通过这台服务器将本地NAS存储中的数据迁移至云上。 将云上NAS存储数据迁移至SFS Turbo文件系统中也可以参考本方案,具体说明请参考云上NAS数据迁移至弹性文件服务。
  • 资源和成本规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表1 资源和成本规划 资源 资源说明 弹性云服务器ECS 云服务器和文件系统归属于同一项目下,用于挂载共享路径实现数据共享。 虚拟私有云VPC VPC为弹性云服务器构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云中资源的安全性,简化用户的网络部署。 云服务器无法访问不在同一VPC下的文件系统,使用弹性文件服务时需将文件系统和云服务器归属于同一VPC下。 文件系统 文件系统通过标准的NFS协议和CIFS协议为客户提供文件存储服务,用于网络文件远程访问,用户通过管理控制台创建挂载地址后,即可在多个云服务器上进行挂载,并通过标准的POSIX接口对文件系统进行访问。 父主题: 为文件系统创建普通用户可读写的子目录
  • SFS Turbo时延测试 本文以SFS Turbo性能增强型,云服务器规格如下为例说明。 规格:通用计算增强型 | c6.4xlarge.4 | 16vCPUs | 64GB 镜像:EulerOS 2.5 单队列随机读 fio命令: fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/mnt/sfsturbo/fio_test_01 -name=randread_test 其中,“/mnt/sfsturbo/fio_test_01 -name”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfsturbo”目录下的“fio_test_01 -name”文件,请根据实际填写。 fio结果: 单队列随机写 fio命令: fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/mnt/sfsturbo/fio_test_02 -name=randwrite_test 其中,“/mnt/sfsturbo/fio_test_02 -name”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfsturbo”目录下的“fio_test_02 -name”文件,请根据实际填写。 fio结果: 单队列顺序读 fio命令: fio -direct=1 -iodepth=1 -rw=read -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/mnt/sfsturbo/fio_test_03 -name=read_test 其中,“/mnt/sfsturbo/fio_test_03 -name”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfsturbo/”目录下的“fio_test_03 -name”文件,请根据实际填写。 fio结果: 单队列顺序写 fio命令: fio -direct=1 -iodepth=1 -rw=write -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/mnt/sfsturbo/fio_test_04 -name=write_test 其中,“/mnt/sfsturbo/fio_test_04 -name”为待测试的目标文件的挂载路径,需具体到文件名,即这里要测试的是“/mnt/sfsturbo”目录下的“fio_test_04 -name”文件,请根据实际填写。 fio结果:
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 知识图谱服务的终端节点如表1所示,请您根据业务需要选择对应区域的终端节点。 表1 知识图谱的终端节点 区域名称 区域 终端节点(Endpoint) 华北-北京四 cn-north-4 nlp-ext.cn-north-4.myhuaweicloud.com 父主题: 使用前必读
  • 公共请求参数 表1 公共请求消息头 名称 描述 是否必选 示例 Content-type 发送的实体的MIME类型。 是 application/json Content-Length 请求body长度,单位为Byte。 POST/PUT请求为可选, GET不包含 3495 X-Auth-Token 用户Token。 是 MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... X-Language 请求语言类型。 否,默认为zh-cn en-us 其它header属性,请遵照https协议。 父主题: 数据结构
  • 状态码 正常状态码 返回值 说明 200 OK 请求成功。 201 Created 请求成功,资源已创建。 204 No Content 请求成功,返回体无内容。 异常状态码 返回值 说明 400 Bad Request 请求错误。 401 Unauthorized 鉴权失败。 403 Forbidden 没有操作权限。 500 Internal Server Error 服务内部错误。 503 Service Unavailable 服务不可用。 父主题: 附录
  • 调用API获取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,知识图谱服务部署的区域为"cn-north-4",响应消息体中查找“name”为"cn-north-4",其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 概述 欢迎使用知识图谱服务 (Knowledge Graph,简称KG) 。知识图谱是面向各类企业的一站式知识计算平台,提供本体管理、图谱管理、图谱构建等功能,帮助用户从0到1快速构建知识图谱,管理知识图谱流水线任务。 在调用知识图谱服务API之前,请确保已经充分了解知识图谱服务相关概念,详细信息请参见产品介绍。 KG服务以开放API的方式提供给用户,您可以根据本文档提供的API使用服务,支持的全部API请参见API概览。 父主题: 使用前必读
  • 系统内置模板 当用户问题对应的匹配模板的类型为系统内置模板(SYS_TEMPLATE)时,可参考系统内置模板列表。 表1 系统内置模板列表 模板 举例说明 实体名称 月光宝盒 xx实体 + 呢 月光宝盒呢 xx实体 的 xx属性 月光宝盒的上映时间 xx实体属性 + 呢 上映时间呢 xx属性 是 xx值 的 xx实体类型 票房是10亿的电影 xx实体 的 xx关系(正向一跳关系) 月光宝盒的导演 xx实体 的 xx关系(正向一跳关系)+ 概念限制 月光宝盒的导演是哪个人物 xx实体 和 xx实体 的关系 月光宝盒和沈振的关系 xx实体 的 xx关系 的 xx属性(正向一跳关系的属性) 月光宝盒的导演的出生日期 xx实体 的 xx关系(反向一跳关系) 沈振导演了什么 xx实体 的 xx关系(反向一跳关系)+ 概念限制 沈振导演了什么电影 xx实体 的 xx关系 的 xx关系(正向二跳关系) 沈振导演的电影的主演是谁 上一个实体 的 xx属性 它的上映日期 上一个实体 的 xx关系(正向) 他主演的电影 上一个实体 的 xx关系 的 xx关系(正向二跳关系) 她导演的电影的主演 上一个实体 和 xx实体 的关系 它和月光宝盒的关系 上一个实体 的 xx关系 的 xx属性(正向一跳关系的属性) 他主演的电影的上映时间 父主题: 附录
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • API概览 KG服务提供接口请参见表1,您可以使用知识图谱数据面管理功能。 表1 知识图谱数据面接口 API 说明 执行知识图谱查询命令 根据图谱ID执行知识图谱查询命令。 查询实体详情 根据图谱ID和实体ID查询实体详情,包括实体的ID、类型、属性及属性值。 过滤查询实体列表 根据图谱ID,过滤查看满足指定条件的实体列表,列表信息包括实体ID、实体类型、实体属性及其属性值。 查询关联实体 根据图谱ID和关系类型查询与某一实体有关系的实体。 进行KBQA会话 进行KBQA问答会话。 实体链接 对用户文本进行分析,识别出其中的实体,并返回图谱中关联节点的信息。 知识搜索 对用户文本进行分析,对图谱中的相关知识进行搜索。 知识推荐 根据输入的实体节点,推荐相关的实体节点。
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 描述 处理措施 400 KGP.0001 请求体格式非法。 请求体格式非法。 检查请求体格式。 400 KGP.0002 请求参数错误。 请求参数错误。 检查请求体参数。 400 KGP.0003 资源重名。 资源重名。 修改资源名称。 400 KGP.1001 未找到本体。 未找到本体。 检查本体ID。 400 KGP.1002 本体被占用。 本体被占用。 释放本体。 400 KGP.1003 导入本体格式错误。 导入本体格式错误。 检查导入文件格式。 400 KGP.2001 未找到图谱。 未找到图谱。 检查图谱ID。 400 KGP.2002 无法删除图谱。 无法删除图谱。 图谱任务执行中无法删除。 400 KGP.2003 图谱查询语句执行失败。 图谱查询语句执行失败。 检查图谱查询语句格式。 400 KGP.2004 图谱超出配额。 图谱超出配额。 检查配额。 400 KGP.2007 未找到实体。 未找到实体。 检查实体查询条件。 400 KGP.2008 图谱未就绪。 图谱未就绪。 等待图谱就绪。 400 KGP.3001 OBS资源未找到。 OBS资源未找到。 检查OBS桶名、路径。 400 KGP.4001 Gremlin查询失败。 Gremlin查询失败。 检查Gremlin查询语句语法逻辑。 400 KGP.4002 实体未找到。 实体未找到。 检查请求中的实体ID。 400 KGP.4004 过滤查询请求错误 过滤查询请求错误 检查过滤查询请求体。 400 KGP.4010 调用量超过每日限制。 调用量超过每日限制。 调用量已超过当前图谱版本每日限制。 400 KGP.4201 图谱应用未启动。 图谱应用未启动。 开启图谱应用开关。 400 KGP.4203 图谱的实体数或关系数不能为0。 图谱的实体数或关系数不能为0。 图谱应用开启时,图谱实体或关系数量不能为0。 400 KGP.4204 图谱应用承载实体数量超过上限。 图谱应用承载实体数量超过上限。 图谱应用开启,图谱中实体或关系数量太多。 400 KGP.5001 任务配置不完全。 任务配置不完全。 检查任务配置。 400 KGP.5002 未找到任务。 未找到任务。 检查任务ID。 400 KGP.5004 任务已执行过。 任务已执行过。 检查任务ID。 400 KGP.5005 任务执行中。 任务执行中。 等待任务执行完成。 400 KGP.5007 任务类型错误。 任务类型错误。 修改任务类型 400 KGP.5008 任务状态错误。 任务状态错误。 检查任务状态。 403 KGP.0004 认证失败。 认证失败。 检查认证token。 403 KGP.0005 测试权限校验失败。 测试权限校验失败。 申请测试权限。 403 KGP.3002 无OBS资源访问权限。 无OBS资源访问权限。 检查OBS权限。 500 KGP.5003 内部服务错误。 内部服务错误。 联系技术支持人员。 500 KGP.9001 内部服务错误。 内部服务错误。 联系技术支持人员。 500 KGP.9002 内部服务错误。 内部服务错误。 联系技术支持人员。 500 KGP.9003 内部服务错误。 内部服务错误。 联系技术支持人员。 500 KGP.9999 内部服务错误。 内部服务错误。 联系技术支持人员。 父主题: 附录
  • 操作步骤 登录媒体处理控制台。 在左侧导航树中选择“转封装管理”,进入转封装管理页面。 单击“创建任务”,进入转封装任务创建页面。 配置转封装任务的参数,参数说明如表1所示。 表1 转封装任务参数说明 参数 说明 源桶所在区域 源视频文件存储的OBS桶所在的区域。 输入桶名 源视频文件存储的OBS桶。 源文件 源视频文件的存储路径。 输出桶所在区域 转封装文件存储的OBS桶所在的区域。 输出桶名 转封装文件存储的OBS桶。 输出路径 转封装文件的存储路径。 文件名 转封装后的文件名称。 输出格式 转封装格式。暂只支持"HLS"和“MP4”格式。 分片时长 HLS分片的长度,当转封装格式为“HLS”时有效。 取值范围:[2,10]。 默认值:5。 单击“确定”,完成创建。 在“任务列表”中查看执行情况。 当“任务状态”为“处理成功”时,您可以在“输出路径”中获取转封装后的文件。
  • 解决方法 为了满足用户直接通过AOM查看链代码日志以定位链代码相关问题的需求,BCS将链代码运行日志输出到了其宿主Peer的运行日志中。 用户可以使用关键字“[peer.chaincode.dev-peer-组织ID-Peer编号-链代码名称-链代码版本]”在对应的Peer日志中进行搜索,例如使用关键字“[peer.chaincode.dev-peer-964fe19e96d4e28ffc5dd590fd232d6a062e6fea-0-benchmark-1.0]”搜索,即可查找对应的链代码日志,如下图所示: 图1 链代码日志
  • 根本原因 目前非Fabric v2.2版本的BCS实例使用Kubernetes拉起链代码容器,而Fabric v2.2版本的BCS实例使用的是原生Docker拉起链代码容器,与Hyperledger开源社区版本保持一致,以提升链代码容器相关功能的稳定性。 在AOM的日志页面中,当前只展示Kubernetes拉起链代码容器中的日志文件,因此无法直接查看使用原生Docker拉起链代码容器中的日志文件。
  • 获取fabric用户私钥及证书的方法 获取fabric用户私钥及证书的方法有两种:BCS区块链管理界面下载和使用openssl工具生成。 第一种方法:针对需要获取单个用户私钥及证书的情况,可通过BCS区块链管理界面下载。 登录区块链服务管理控制台。 单击左侧导航栏中的“实例管理”。选择Hyperledger Fabric增强版页签,单击实例名称,进入实例详情。 在实例详情页面中的区块链组织中,单击,下载用户证书。 将下载的用户证书进行解压,msp文件夹中包括用户私钥(keystore)和证书(signcerts),文件目录如下: 图1 文件目录 第二种方法:针对需要获取多个用户私钥及证书的情况,请使用openssl工具生成。 下载CA证书和私钥。 登录区块链服务管理控制台。 单击左侧导航栏中的“实例管理”。选择Hyperledger Fabric增强版页签,单击实例名称,进入实例详情。 在实例详情页面中的区块链组织中,单击,下载CA证书。 将下载的CA证书解压后文件目录如下: 图2 解压后文件目录 生成新的ECC私钥。 生成私钥,选取椭圆曲线prime256v1。 openssl ecparam -name prime256v1 -genkey -out user-key_.pem 转换成pkcs8格式。 openssl pkcs8 -topk8 -nocrypt -in user-key_.pem -out user-key 生成证书请求文件。 openssl req -new -key user-key -out user-csr.pem CA签发证书。 openssl x509 -req -in user-csr.pem -out user-cert.pem -CA ca.organization-cert.pem -CAkey organization_sk -CAcreateserial -days 3650 获得CA签名的证书文件user-cert.pem,对应私钥为user-key。 父主题: 使用类问题
  • gossip异常导致peer账本块高不一致 执行以下命令,查看块高,并与其它peer比较,确认块高存在差异,落块停止或严重滞后。 peer channel getinfo –c {通道名} 重启peer,重新拉取区块,如果无效,执行3~5。 进入peer容器,/etc/hyperledger/fabric/目录下,修改core.yaml文件,改为从order同步区块。 useLeaderElection: falseorgLeader: true 执行以下命令,查询peer node start进程pid。 ps –ef 执行以下命令,重启peer进程。 kill -9 {pid} 父主题: 其他问题
  • 华为云区块链服务使用的底层框架是什么? 华为云区块链服务使用HyperLedger开源框架。 HyperLedger,是由Linux基金会主导推广的区块链开源项目。目标是建立面向多种应用场景的分布式账簿平台的底层构架。Hyperledger在Hyperledger Fabric的基础上又衍生出了其他一些相关的项目。HyperLedger项目汇集了金融、银行、物联网、供应链、制造等各界开发人员的心血。目的是为了打造一个跨领域的区块链应用。 华为云基于HyperLedger框架打造了区块链服务,面向企业及开发者,提供高性能、高可用、高安全区块链技术平台服务。 父主题: 咨询类问题
  • 购买区块链实例前,需要购买什么规格的虚拟机? 用户在部署区块链实例前,需要购买虚拟机资源来运行区块链实例,那么需要购买什么规格的虚拟机呢?BCS给出如下建议: 表1 虚拟机购买的建议 您的业务阶段 使用的共识算法 虚拟机购买的建议(最小规格) POC测试阶段 快速拜占庭容错共识算法(FBFT) 1台、8vCPUs+16GB内存 商用阶段 - 建议每个Peer节点资源规格为4vCPUs+8GB内存,需要根据您的业务规模、用户数量等进行预估,可联系区块链服务的技术支持工程师寻求帮助。 父主题: 咨询类问题
  • 删除BCS实例后,如何清理残留日志文件? 删除BCS实例后,集群节点会残留日志文件,系统并不会自动清理,建议您手动将残留文件删除以免占用您的空间资源。 首先使用远程管理工具分别登录已删除实例对应的集群节点,检查如下路径下是否存在残留日志文件: /var/paas/sys/log/baas-agent/var/paas/sys/log/baas-restapi/var/paas/sys/log/baas-service 若存在残留日志文件,可参考使用如下命令进行删除: rm -rf /var/paas/sys/log/baas-agent /var/paas/sys/log/baas-restapi /var/paas/sys/log/baas-service 父主题: 运维监控类
  • 如何判断是否有必要使用区块链? 依次回答下列问题对确定区块链技术是否适合项目有一定的帮助。 是否存在多方分享数据? 一个完整可靠的共享记录系统是否会使每个业务关系的参与者受益。 是否存在多方更新数据? 如果多个参与者能够记录和传播并发交易,会不会有更高的数据准确性和及时性。 是否有验证和校验的需求? 在不完全可信环境交易防篡改是否能提高交易伙伴的交易吞吐量和可靠性。 中心机构是否可以移除? 移除中心机构是否有利于减少成本和交易复杂度。 如果以上问题您的回答都是肯定的,那么您的项目则有必要使用区块链技术。 父主题: 咨询类问题
  • 常见异常场景及解决方案 场景一:单击BCS实例所有页面按钮均出现“系统异常”错误码。 可能原因一:公共组件regionlb异常。 排查方法:跳转至首页的服务列表,分别进入应用运维管理AOM、云容器引擎CCE、应用平台与运维平台ServiceStage页面,查看这些服务页面是否异常,如果上述服务也出现页面异常,提示类似错误,请联系regionlb技术支持工程师处理即可。 可能原因二:BCS实例后端异常,请求无响应 排查方法:打开f12按钮,选择Network,单击报错请求,查看headers以及preview信息,提供相关信息给BCS技术支持工程师处理。 场景二:单击BCS实例部分页面按钮出现“系统异常”错误码。 排查方法:打开f12按钮,选择Network,单击报错请求,查看headers以及preview信息,提供相关信息给BCS技术支持工程师处理。
  • 通道隔离和隐私保护的区别? 通道隔离:通道可以将区块链网络中的账本数据进行隔离和保密,主要用于实现联盟链中业务的隔离,每个通道可视为一条子链,并且对应一套账本,同一个区块链网络,不同通道之间的账本数据不可见。 隐私保护:在同一个通道内的不同成员,例如A、B成员,经过隐私保护配置,指定A成员可以访问相关数据的权限,只有拥有指定权限的成员A能访问相关数据,没有权限的成员B,则无法访问相关的数据,保证在一个共享通道内数据的隐私性。 隐私保护是对通道内成员进行隐私保护,而通道隔离是对通道外的成员进行隐私保护。 父主题: 咨询类问题
  • 问题现象 配置huaweicloudchainReadonly只读策略权限后,调用Hyperledger Fabric增强版接口报错,页面出现如下报错信息,提示权限不足,不影响用户使用华为云区块链引擎。 华为云区块链引擎操作权限不足,分为以下情况: “Policy doesn't allow bcs:huaweiCloudChain*:* to be performed. ”账号无权访问bcs:huaweiCloudChain*:*对应的接口。(以下截图仅供参考) “user role is invalid”账号角色配置不满足接口访问的权限要求。 “user role is invalid,user is not *.”账号缺少对应的角色,无权访问该接口。(以下截图仅供参考)
  • 解决方案 针对以上三种情况,请查看对应系统策略、系统角色以及细粒度权限依赖的权限,详细操作请参考权限管理进行对应的权限配置。 系统策略、系统角色的依赖项请参考表1。 表1 华为云区块链引擎权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务的所有执行权限。 系统角色 BSS Administrator、VPCEP Administrator、VPC Administrator BCS Huaweicloudchain FullAccess 华为云区块链引擎权限所有权限。 系统策略 BSS Administrator、VPCEP Administrator、VPC Administrator BCS Huaweicloudchain ReadOnlyAccess 华为云区块链引擎权限只读权限。 系统策略 VPCEP Administrator 系统策略、系统角色的支持项请参考表2。 表2 华为云区块链引擎常用操作与系统权限关系 操作项 BCS Administrator BCS Huaweicloudchain FullAccess BCS Huaweicloudchain ReadOnlyAccess 是否支持API 查询服务信息 √ √ √ √ 询价 √ √ √ √ 查询job详情 √ √ √ √ 查询job列表 √ √ √ √ 批量删除job √ √ x √ 购买实例 √ √ x √ 查询实例列表 √ √ √ √ 查询实例详情 √ √ √ √ 更新实例 √ √ x √ 购买组织 √ √ x √ 查询组织列表 √ √ √ √ 查询组织详情 √ √ √ √ 查询链详情 √ √ √ √ 查询区块列表 √ √ √ √ 查询区块详情 √ √ √ √ 查询区块交易列表 √ √ √ √ 查询交易详情 √ √ √ √ 查询区块、交易统计结果 √ √ √ √ 下载SDK配置 √ √ x √ 安装合约 √ √ x √ 查询合约详情 √ √ √ √ 查询合约列表 √ √ √ √ 获取合约扫描报告 √ √ x √ 创建终端节点 √ √ x √ 查询终端节点列表 √ √ √ √ 查询终端节点服务详情 √ √ √ √ 创建资源标签 √ √ x √ 删除资源标签 √ √ x √ 查询资源标签 √ √ √ √ 获取边缘增强版配置码 √ √ x x 下载边缘增强版物料 √ √ x x 下载边缘增强版软件包 √ √ x x 创建插件 √ √ x x 查询插件 √ √ √ x API接口的细粒度的权限依赖与明细请参考表3。 表3 华为云区块链引擎对应接口的权限依赖关系 接口 对应的API接口 授权项 依赖授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 查询服务信息 GET /v2/{project_id}/huaweicloudchain/service-info bcs:huaweiCloudChainService:getInfo - √ 暂不支持 询价 POST /v2/{project_id}/huaweicloudchain/inquiry bcs:huaweiCloudChainInstance:inquire - √ 查询job详情 GET /v2/{project_id}/huaweicloudchain/jobs/{job_id} bcs:huaweiCloudChainJob:get - √ 查询job列表 GET /v2/{project_id}/huaweicloudchain/jobs bcs:huaweiCloudChainJob:list - √ 批量删除job DELETE /v2/{project_id}/huaweicloudchain/jobs bcs:huaweiCloudChainJob:delete - √ 购买实例 POST /v2/{project_id}/huaweicloudchain/instances bcs:huaweiCloudChainInstance:create bss:order:update √ 查询实例列表 GET /v2/{project_id}/huaweicloudchain/instances bcs:huaweiCloudChainInstance:list - √ 查询实例详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id} bcs:huaweiCloudChainInstance:get - √ 更新实例 PUT /v2/{project_id}/huaweicloudchain/instances/{instance_id} bcs:huaweiCloudChainInstance:update - √ 购买组织 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organizations bcs:huaweiCloudChainOrganization:create bss:order:update √ 查询组织列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organizations bcs:huaweiCloudChainOrganization:list - √ 查询组织详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/organization bcs:huaweiCloudChainOrganization:get - √ 查询链详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain bcs:huaweiCloudChainChain:getChain - √ 查询区块列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/blocks bcs:huaweiCloudChainChain:listBlocks - √ 查询区块详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/blocks/{block_height} bcs:huaweiCloudChainChain:getBlock - √ 查询区块交易列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/transactions bcs:huaweiCloudChainChain:listTransactions - √ 查询交易详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/transactions/{transaction_id} bcs:huaweiCloudChainChain:getTransaction - √ 查询区块、 交易统计结果 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/trend bcs:huaweiCloudChainChain:getTrend - √ 下载SDK配置 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/sdk-config bcs:huaweiCloudChainChain:downloadSdkConfig 高性能通道模式:VPCEP Administrator √ 安装合约 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract bcs:huaweiCloudChainContract:install - √ 查询合约详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract bcs:huaweiCloudChainContract:get - √ 查询合约列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contracts bcs:huaweiCloudChainContract:list - √ 获取合约扫描报告 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/chain/contract/report bcs:huaweiCloudChainContract:downloadReport - √ 创建终端节点 POST /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoints bcs:huaweiCloudChainEndpoint:create VPCEP Administrator、vpc:vpcs:list vpc:vpcs:get vpc:subnets:get √ 查询终端节点列表 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoints bcs:huaweiCloudChainEndpoint:list VPCEP Administrator √ 查询终端节点服务详情 GET /v2/{project_id}/huaweicloudchain/instances/{instance_id}/endpoint-service bcs:huaweiCloudChainEndpoint:get VPCEP Administrator √ 创建资源标签 POST /v2/{project_id}/{resource_type}/{instance_id}/tags/create bcs:huaweiCloudChainTag:create - √ 删除资源标签 DELETE /v2/{project_id}/{resource_type}/{instance_id}/tags/delete bcs:huaweiCloudChainTag:delete - √ 查询资源标签 GET /v2/{project_id}/{resource_type}/{instance_id}/tags bcs:huaweiCloudChainTag:get - √
  • 排查思路 确认是否区块链实例名称为“demo”、专业版、私有链、CCE、ECDSA、“添加RESTful APIs支持”选择了“是”(若您选择了“否”,则需要在实例创建完毕后,在插件管理页面,安装RESTful API。): 登录区块链服务控制台,在左侧导航栏单击“实例管理”,单击目标实例名称,查看详细信息,请参考:REST API Demo。 确认是否下载用户证书、修改conf.yaml与main.go的参数配置: 下载用户证书,方法请参考下载SDK配置和证书。 修改conf.yaml与main.go的参数配置,请参考:REST API Demo中“配置应用”的“4.参数配置”。
  • 解决方案 进入CCE控制台,单击“工作负载”,在“有状态负载”页签,选择BCS实例所使用的集群,找到对应新加组织或新建节点的工作负载,单击负载名称进入负载详情页,查看实例列表,找到异常实例。查看相关事件,分析实例拉起失败原因。 当前服务所使用的CCE集群支持1个集群节点(node)最多挂载10个存储。基于服务1个负载(orderer/peer/agent)挂载1个存储,故在添加组织节点(peer)时新增的peer数(存储卷数)加上已有的存储卷总数除以10,即得到所需的CCE集群节点(node)个数。(已有的存储卷总数为服务详情“概览”页签的网络存储详情中计算极速文件存储卷数量的累计)。 实例拉起失败原因为当前CCE集群所使用的节点的可允许挂载存储已超上限。 选择“节点管理”,选择BCS实例所使用的集群,单击右上角“创建节点”按钮,填写对应参数完成创建。 单击“工作负载”,在“有状态负载”页签,选择BCS实例所使用的集群,找到对应新加组织或新建节点的工作负载,单击负载名称进入负载详情页,查看实例列表,是否已恢复正常。 若BCS实例已恢复正常,则该问题处理完毕; 若BCS实例没有恢复正常,请联系技术支持工程师处理。
  • 问题现象 添加组织或添加节点后,长时间(超过10min)未见有新节点状态转为正常,最终导致实例变更超时,实例状态异常。操作记录报错如下:添加组织报错“BCS(XXX) wait for updating agent 400 times, stop updating”;添加节点报错“wait the expand peer running exceed 100 times, stop waiting”。
共100000条