华为云用户手册

  • 调用API示例 在工程中引入apig_sdk。 from apig_sdk import signerimport requestsimport os 生成一个新的Signer,输入API所授权凭据的Key和Secret,可参考获取API的调用信息获取。 sig = signer.Signer()// Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = os.getenv('HUAWEICLOUD_SDK_AK')sig.Secret = os.getenv('HUAWEICLOUD_SDK_SK') 生成一个Request对象,指定方法名、请求url、header和body,可参考获取API的调用信息获取。 r = signer.HttpRequest("POST", "https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?a=1", {"x-stage": "RELEASE"}, "body") 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 X-Sdk-Date是一个必须参与签名的请求消息头参数。 sig.Sign(r) 访问API,查看访问结果。 //若使用系统分配的子 域名 访问https请求的API时,需要在data=r.body后添加“,verify=False”,用来忽略证书校验resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body)print(resp.status_code, resp.reason)print(resp.content)
  • 步骤3:计算签名 将APP secret和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(APP secret, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明 参数名称 参数解释 APP secret 签名密钥 string to sign 创建的待签字符串 假设APP secret为12345678-1234-1234-1234-123456781234,则计算得到的signature为: 121c2501e8951ff7d5574423939b9acaa283e55a27c0107d767bb0d68b5ffcab
  • 步骤1:构造规范请求 使用APP方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与APIC使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload)) 通过以下示例来说明规范请求的构造步骤。 假设原始请求如下: GET https://30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.com/app1?b=2&a=1 HTTP/1.1Host: 30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.comX-Sdk-Date: 20180330T123600Z 构造HTTP请求方法(HTTPRequestMethod),以换行符结束。 HTTP请求方法,如GET、PUT、POST等。请求方法示例: GET 添加规范URI参数(CanonicalURI),以换行符结束。 释义: 规范URI,即请求资源路径,是URI的绝对路径部分的URI编码。 格式: 根据RFC 3986标准化URI路径,移除冗余和相对路径部分,路径中每个部分必须为URI编码。如果URI路径不以“/”结尾,则在尾部添加“/”。 举例: 示例中的URI:/app1,此时规范的URI编码为: GET/app1/ 计算签名时,URI必须以“/”结尾。发送请求时,可以不以“/”结尾。 添加规范查询字符串(CanonicalQueryString),以换行符结束。 释义: 查询字符串,即查询参数。如果没有查询参数,则为空字符串,即规范后的请求为空行。 格式: 规范查询字符串需要满足以下要求: 根据以下规则对每个参数名和值进行URI编码: 请勿对RFC 3986定义的任何非预留字符进行URI编码,这些字符包括:A-Z、a-z、0-9、-、_、.和~。 使用%XY对所有非预留字符进行百分比编码,其中X和Y为十六进制字符(0-9和A-F)。例如,空格字符必须编码为%20,扩展UTF-8字符必须采用“%XY%ZA%BC”格式。 对于每个参数,追加“URI编码的参数名称=URI编码的参数值”。如果没有参数值,则以空字符串代替,但不能省略“=”。 例如以下含有两个参数,其中第二个参数parm2的值为空。 parm1=value1&parm2= 按照字符代码以升序顺序对参数名进行排序。例如,以大写字母F开头的参数名排在以小写字母b开头的参数名之前。 以排序后的第一个参数名开始,构造规范查询字符串。 举例: 示例中包含两个可选参数:a、b GET/app1/a=1&b=2 添加规范消息头(CanonicalHeaders),以换行符结束。 释义: 规范消息头,即请求消息头列表。包括签名请求中的所有HTTP消息头列表。消息头必须包含X-Sdk-Date,用于校验签名时间,格式为ISO8601标准的UTC时间格式:YYYYMMDDTHHMMSSZ。如果API发布到非RELEASE环境时,需要增加自定义的环境名称。 客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 ROMA Connect除了校验X-Sdk-Date的时间格式外,还会校验该时间值与收到请求的时间差,如果时间差超过15分钟,ROMA Connect将拒绝请求。 格式: CanonicalHeaders由多个请求消息头共同组成,CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ...,其中每个请求消息头(CanonicalHeadersEntry)的格式为Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\n' Lowercase表示将所有字符转换为小写字母的函数。 Trimall表示删除值前后的多余空格的函数。 最后一个请求消息头也会携带一个换行符。叠加规范中CanonicalHeaders自身携带的换行符,因此会出现一个空行。 举例: GET/app1/a=1&b=2host:30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.comx-sdk-date:20180330T123600Z 规范消息头需要满足以下要求: 将消息头名称转换为小写形式,并删除前导空格和尾随空格。 按照字符代码对消息头名称进行升序排序。 例如原始消息头为: Host:30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.com\nContent-Type: application/json;charset=utf8\nMy-header1: a b c \nX-Sdk-Date:20180330T123600Z\nMy-Header2: "a b c" \n 规范消息头为: content-type:application/json;charset=utf8\nhost:30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.com\nmy-header1:a b c\nmy-header2:"a b c"\nx-sdk-date:20180330T123600Z\n 添加用于签名的消息头声明(SignedHeaders),以换行符结束。 释义: 用于签名的请求消息头列表。通过添加此消息头,向APIC告知请求中哪些消息头是签名过程的一部分,以及在验证请求时APIC可以忽略哪些消息头。X-Sdk-date必须作为已签名的消息头。 格式: SignedHeaders = Lowercase(HeaderName0) + ';' + Lowercase(HeaderName1) + ";" + ... 已签名的消息头需要满足以下要求:将已签名的消息头名称转换为小写形式,按照字符代码对消息头进行排序,并使用“;”来分隔多个消息头。 Lowercase表示将所有字符转换为小写字母。 举例: 以下表示有两个消息头参与签名:host、x-sdk-date GET/app1/a=1&b=2host:30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.comx-sdk-date:20180330T123600Zhost;x-sdk-date 使用SHA 256哈希函数以基于HTTP或HTTPS请求正文中的body体(RequestPayload),创建哈希值。 释义: 请求消息体。消息体需要做两层转换:HexEncode(Hash(RequestPayload)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。例如,HexEncode("m") 返回值为“6d”而不是“6D”。输入的每一个字节都表示为两个十六进制字符。 计算RequestPayload的哈希值时,对于“RequestPayload==null”的场景,直接使用空字符串""来计算。 举例: 本示例为GET方法,body体为空。经过哈希处理的body(空字符串)如下: GET/app1/a=1&b=2host:30030113-3657-4fb6-a7ef-90764239b038.apigw.exampleRegion.comx-sdk-date:20180330T123600Zhost;x-sdk-datee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 对构造好的规范请求进行哈希处理,算法与对RequestPayload哈希处理的算法相同。经过哈希处理的规范请求必须以小写十六进制字符串形式表示。 算法伪代码:Lowercase(HexEncode(Hash.SHA256(CanonicalRequest))) 经过哈希处理的规范请求示例: aa521bbe74d13cd8cf536c1a03a5dd85d1934179d33d47110b528eae8b7251e1
  • APP认证流程 构造规范请求。 将待发送的请求内容按照与APIC后台约定的规则组装,确保客户端签名、APIC后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 APIC收到请求后,执行1~3,计算签名。 将3中的生成的签名与5中生成的签名进行比较,如果签名匹配,则处理请求,否则将拒绝请求。 APP签名仅支持Body体12M及以下的请求签名。
  • 步骤2:创建待签字符串 对HTTP请求进行规范并取得请求的哈希值后,将其与签名算法、签名时间一起组成待签名字符串。 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest 伪代码中参数说明如下。 Algorithm 签名算法。对于SHA 256,算法为SDK-HMAC-SHA256。 RequestDateTime 请求时间戳。与请求消息头X-Sdk-Date的值相同,格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 经过哈希处理的规范请求。 上述例子得到的待签字符串为: SDK-HMAC-SHA25620180330T123600Zaa521bbe74d13cd8cf536c1a03a5dd85d1934179d33d47110b528eae8b7251e1
  • 步骤4:添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码:Authorization: algorithm Access=APP key, SignedHeaders=SignedHeaders, Signature=signature 需要注意的是算法与Access之前没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=121c2501e8951ff7d5574423939b9acaa283e55a27c0107d767bb0d68b5ffcab 得到签名消息头后,将其增加到原始HTTP请求内容中,请求将被发送给APIC,由APIC完成身份认证。身份认证通过后,该请求才会发送给后端服务进行业务处理。
  • 多个数据源编排 一个数据API可以包含多个数据源,因此一次API请求可以涉及多个数据源,例如取第一个数据源查询结果作为第二个数据源的参数。 以MySQL为例说明,假设数据API有数据源1和数据源2,user01是数据源1的数据表和user02是数据源2的数据表,两张表的结构如下: 表1 表结构 数据源 表名 参数 数据源1 user01 id(int) name(varchar) 数据源2 user02 user_id(int) user_age(int) user_sex(varchar) 数据源SQL设计如下: 数据源1,在表user01中查找name为“zhang”的数据记录id。假设数据源1的返回对象为“default1”。 select id from user01 where name='zhang'; 数据源2,根据user01中找到的id,在user02中找到对应的数据记录user_age。假设数据源2的返回对象为“default2”。 select user_age from user02 where user_id=${default1[0].id}; 其中,${default1[0].id}为数据源1的查询结果(default1为数据源1的返回对象,id为数据源1的查询字段)。 假设,数据表user01和user02中有如下数据记录: user01 user02 id name user_id user_age user_sex 1 zhang 2 17 女 2 li 3 18 男 3 wang 1 18 男 则调用该数据API将返回如下响应: { "default1":[{ "id":1 }], "default2":[{ "user_age":18 }]} 父主题: 自定义后端开发(数据后端)
  • 其他建议 连接数限制:3000 消息大小:不能超过10MB 使用SASL_SSL协议访问ROMA Connect:确保DNS具有反向解析能力,或者在hosts文件配置ROMA Connect所有节点ip和主机名映射,避免Kafka client做反向解析,阻塞连接建立。 磁盘容量申请超过业务量 * 副本数的2倍,即保留磁盘空闲50%左右。 业务进程JVM内存使用确保无频繁FGC,否则会阻塞消息的生产和消费。 建议在Kafka客户端侧配置日志转储,否则容易引起磁盘被日志打满的情况。 一个消费组下的消费者在连接同一个MQS时,最多允许该消费组下的500个消费者进行连接,超过数量的消费者将连接失败。如果一个消费组下有超过500个消费者,且需要连接同一个MQS,需要把消费者拆分到多个消费组下。 若ROMA Connect实例的消息集成在开启SASL_SSL的同时,也开启了VPC内网明文访问,则VPC内无法使用SASL方式连接消息集成的Topic。 使用SASL方式连接消息集成的Topic时,建议在客户端所在主机的“/etc/hosts”文件中配置host和IP的映射关系,否则会引入时延。 其中,IP地址必须为消息集成的连接地址,host为每个实例主机的名称,可以自定义,但不能重复。例如: 10.10.10.11 host01 10.10.10.12 host02 10.10.10.13 host03
  • 审计 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。用户开通云审计服务并创建和配置追踪器后,CTS可记录 CS E的管理事件和数据事件用于审计。CTS的详细介绍和开通配置方法,请参见CTS快速入门。CTS支持追踪的CSE管理事件和数据事件列表,请参见云审计服务支持的CSE操作列表。
  • Consumer使用建议 Consumer的owner线程需确保不会异常退出,避免客户端无法发起消费请求,阻塞消费。 确保处理完消息后再做消息commit,避免业务消息处理失败,无法重新拉取处理失败的消息。 Consumer不能频繁加入和退出group,频繁加入和退出,会导致Consumer频繁做rebalance,阻塞消费。 Consumer数量不能超过Topic分区数,否则会有Consumer拉取不到消息。 Consumer需周期poll,维持和server的心跳,避免心跳超时,导致Consumer频繁加入和退出,阻塞消费。 Consumer拉取的消息本地缓存应有大小限制,避免OOM(Out of Memory)。 Consumer session的超时时间设置为30秒,session.timeout.ms=30000,避免时间过短导致Consumer频繁超时做rebalance,阻塞消费。 ROMA Connect不能保证消费重复的消息,业务侧需保证消息处理的幂等性。 消费线程退出要调用Consumer的close方法,避免同一个组的其他消费者阻塞sesstion.timeout.ms的时间。
  • ServiceComb引擎 ServiceComb引擎采用的注册发现中心Apache ServiceComb Service Center,是一个RESTful风格的、高可用无状态的服务注册发现中心,提供微服务发现和微服务管理功能。服务提供者可以将自身的实例信息注册到服务注册发现中心,以供服务消费者发现并使用。ServiceComb引擎可无缝兼容Spring Cloud、ServiceComb等开源生态。关于Apache ServiceComb Service Center的详细内容请参考: https://github.com/apache/servicecomb-service-center/ https://service-center.readthedocs.io/en/latest/user-guides.html ServiceComb引擎当前仅在华东-上海一、华南-广州、华南-广州-友好用户环境、华北-北京四、华北-北京一、西南-贵阳一、华北-乌兰察布一、华东-上海二、华东二、中国-香港、亚太-新加坡、拉美-墨西哥城二、拉美-圣保罗一、土耳其-伊斯坦布尔、中东-利雅得和亚太-雅加达支持。 ServiceComb引擎分为1.x、2.x版本。 ServiceComb引擎2.x版本是可支持大规模微服务应用管理的商用引擎。您可根据业务需要选择不同规格,引擎创建完成后不支持规格变更;引擎资源独享,性能不受其他租户影响。 相较于ServiceComb引擎1.x版本,ServiceComb引擎2.x版本底层架构、功能、安全及性能全面升级,提供了独立的服务注册发现中心和配置中心,支持基于用户业务场景的定义和治理。两个版本的特性比对请参见表2。 表2 ServiceComb引擎2.x和ServiceComb引擎1.x特性比对 功能 特性 2.x 1.x 备注 引擎管理 安全性 支持安全认证 √ √ - 可靠性 3AZ高可靠 √ √ - 微服务管理 基础能力 注册发现 √ √ - 多框架接入 √ √ 支持Spring Cloud、ServiceComb Java Chassis。 无实例版本自动清理 √ x 2.3.7及以后版本,支持保留最近3个微服务版本,并自动清理无实例版本。 性能 实例变化毫秒级推送 √ √ - 配置管理 基础能力 管理配置 √ √ - 配置格式多样化 √ 仅支持文本 2.x新增支持配置格式有:YAML、JSON、TEXT、Properties、INI、XML。 导入导出 √ √ 2.x新增支持设置导入相同配置策略。 高级特性 历史版本 √ x - 版本对比 √ x - 一键回滚 √ x - 配置标签 √ x - 性能 秒级下发 √ x - 微服务治理 业务场景化治理 业务场景定义 √ x - 基于请求Method的匹配规则 √ x - 基于请求Path的匹配规则 √ x - 基于请求Headers的匹配规则 √ x - 治理策略-流量控制 服务端的令牌桶限流 √ √ - 治理策略-重试 客户端通过重试来保证用户业务的可用性、容错性、一致性 √ √ - 治理策略-熔断 服务端通过熔断故障业务,防止故障蔓延到整个服务,发生大规模故障 √ √ - 治理策略-隔离仓 服务端基于信号量控制请求并发能力 √ x - 开发工具 本地轻量化引擎 本地一键启动,方便开发者离线开发微服务 √ √ -
  • 访问控制 如果您需要给企业中的员工对CSE的资源设置不同的访问权限,以达到不同员工之间的权限隔离,CSE支持使用 统一身份认证 服务(Identity and Access Management,简称 IAM )和自定义策略进行精细的权限管理。 访问控制方式 简要说明 详细介绍 IAM权限控制 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将用户加入到一个用户组中,IAM可以对这个组授予CSE所需的权限,组内用户自动继承用户组的所有权限。 IAM权限介绍 自定义策略权限控制 同一个微服务引擎可能会有多个用户共同使用,而不同的用户根据其责任和权限,需要具备不同的微服务引擎访问和操作权限。开启了“安全认证”的微服务引擎专享版,通过微服务控制台提供了基于RBAC的系统管理功能,根据实际的业务需求对角色进行权限自定义策略控制。 自定义策略权限控制介绍
  • Nacos引擎相关概念 概念 说明 命名空间 用于进行租户粒度的配置隔离。命名空间可以实现不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 配置集 配置项的集合称为配置集。通常一个配置文件就是一个配置集,包含了系统各个方面的配置。 配置集ID Nacos中的某个配置集的ID。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个名称标识。 分组 Nacos中的一组配置集,是组织配置的维度之一。通过字符串对配置集进行分组,从而区分配置集ID相同的配置集。如果未填写配置分组的名称,则默认为DEFAULT_GROUP 。 保护阈值 保护阈值与集群中健康实例的占比有关。如果健康实例占比小于或等于此值,会触发保护阈值,Nacos会将全部实例(健康实例 + 非健康实例)全部返回给调用者。保护阈值未触发时,Nacos只会把健康实例返回给调用者。 灰度发布 在配置正式发布前可先进行小部分的发布验证,待配置没问题后再正式发布,从而降低配置推送的风险。 权重 实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。 元数据 Nacos数据(如配置和服务)描述信息,如服务版本、权重等,从作用范围来看,可分为服务级别的元信息、集群的元信息及实例的元信息。
  • 通用概念 概念 说明 微服务 微服务是业务概念,即提供某种服务的某个进程。 每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。 多个微服务组成应用程序。 实例 一个微服务的最小运行和部署单元,通常对应一个应用进程。同一个微服务通过部署在多个容器或虚机,可以实现多个实例同时运行。 配置 微服务场景中的配置是指对程序代码中某些变量的取值控制。比如,动态配置就是通过在微服务运行过程中对某些变量的取值进行动态变更。
  • 应用网关相关概念 概念 说明 域名 通过域名管理不同域名下的协议、证书、路由配置。支持完整域名(如:www.example.com、三级及以上域名模糊(如:*.example.io))。 协议 协议是一套用于格式化和处理数据的规则,支持的协议有HTTP和HTTPS。 服务来源 支持Nacos、ServiceComb引擎、CCE服务作为服务来源。将注册了服务的CSE Nacos引擎、ServiceComb引擎和CCE服务添加到网关服务来源中,以便网关能够动态获取您的服务列表。 目标服务 路由转发请求到的服务。 鉴权规则 通过设置鉴权类型、鉴权模式定义的一种规则。 鉴权模式 鉴权模式支持黑名单模式。 黑名单模式 在鉴权规则中,符合条件的需要鉴权,其余不需要鉴权。
  • 数据保护技术 CSE通过多种数据保护技术保障存储在CSE中的数据安全可靠,其数据保护技术如下表所示。 数据保护手段 简要说明 详细介绍 HTTPS传输 CSE使用HTTPS协议保障信息传输安全。 构造请求 创建多AZ引擎 CSE支持跨AZ部署,为了保障可靠性,推荐使用跨AZ部署的CSE引擎。 创建ServiceComb引擎 多版本控制 CSE中可以存储多个配置版本,帮助您进行查看管理以及快速回滚。 对比配置版本 配置文件加密 CSE支持配置文件加密存储,保障敏感数据安全。 配置文件加密方案 父主题: 安全
  • 功能介绍 在 实时音视频 控制台,您可以快速进行应用的创建、编辑等管理。同时,还提供了音视频互动质量指标监控服务,方便您进行数据分析。 表1 控制台功能介绍 分类 功能 功能介绍 应用管理 应用管理 支持用户创建并管理应用,应用创建后可以使用对应的App ID和域名进入互动频道。 录制配置 支持为实时音视频互动配置录制规则,SparkRTC将按照录制规则ID进行录制,并将录制文件存储到OBS桶中。 视镜 通话调查 支持用户查看各房间的用户通话质量指标详情,对通话体验和端到端数据进行问题定位和原因分析。 数据洞察 支持用户查看通话用量和质量数据,了解通话用量和质量的总体趋势、不同维度的分布情况和每天的数据明细。 实时数据 支持用户查看音视频通话的规模、体验、网络指标的实时数据和分析图表,实时掌握项目整体动态,及时识别异常通话体验和异常根因。 自动诊断 支持用户实时查看应用下所有通话体验异常的用户信息及异常明细数据。 用量统计 用量统计 支持用户获取近90天的音视频互动时长。 云资源授权 云资源授权 支持用户对存储录制文件的OBS桶进行授权,允许SparkRTC服务将录制文件存储到OBS桶中。
  • 实施步骤 Jira新增Issue同步至CodeArts Req 将Jira中新创建的Issue自动同步至CodeArts Req,减少了手动输入数据的需要,提高了数据录入的效率和准确性。 操作步骤如下: 登录CodeArts Link控制台,单击“资产目录”,通过搜索找到“Jira新增Issue同步至CodeArtsReq”模板。 单击“使用模板”进入画布编排界面。 单击“Jira Software”触发事件,按照页面提示完成“选择连接”和“配置参数”配置。 单击“CodeArts Req”节点事件,按照页面提示完成“选择连接”和“配置参数”配置。 保存该业务流程编排到组合应用,并对该业务流进行调试、启动等后续运行操作。 Jira更新Issue同步到CodeArts Req 将Jira中有更新的Issue自动同步至CodeArts Req,减少了手动同步数据的需要,提高了数据同步获取的效率和准确性。 操作步骤如下: 登录CodeArts Link控制台,单击“资产目录”,通过搜索找到“Jira更新Issue同步到CodeArtsReq”模板。 单击“使用模板”进入画布编排界面。 单击“Jira Software”触发事件,按照页面提示完成“选择连接”和“配置参数”配置。 单击“CodeArts Req”节点事件,按照页面提示完成“选择连接”和“配置参数”配置。 保存该业务流程编排到组合应用,并对该业务流进行调试、启动等后续运行操作。 定时同步CodeArts Req工作项状态到Jira 将CodeArts Req中工作项状态定时同步到Jira中,通过自动化同步减少了因手动操作导致的错误和遗漏,确保两个系统间的数据保持同步。 操作步骤如下: 登录CodeArts Link控制台,单击“资产目录”,通过搜索找到“定时同步codeArtsReq工作项状态到JIRA”模板。 单击“使用模板”进入画布编排界面。 单击“CodeArts Req”节点事件,按照页面提示完成“选择连接”和“配置参数”配置。 单击“修改Jira工作项状态为Backlog”节点事件,按照页面提示完成“选择连接”和“配置参数”配置。 保存该业务流程编排到组合应用,并对该业务流进行调试、启动等后续运行操作。
  • 方案概述 在当前的信息化技术发展背景下,企业业务系统数量不断增加,各系统间需要实现数据互联互通以提高企业运作效率。Jira和CodeArts Req作为两种常用的项目管理工具,它们之间的数据双向同步成为了企业关注的问题。 随着企业的跨区域发展,总公司与各区域子公司的业务系统需要频繁进行业务交互。在这种情况下,Jira和CodeArts Req之间的数据双向同步可以帮助企业实现不同业务系统间的高效协同工作,提高企业的运作效率。通过实现Jira与CodeArts Req的数据双向同步,企业可以确保各区域子公司的业务系统能够实时获取到最新的项目信息,从而提高工作效率。 企业在日常运营过程中会持续生产和累积数据资产,为了提高数据资产的复用率,企业需要将Jira和CodeArts Req中的数据进行双向同步。这样一来,企业内部员工可以更方便地访问和使用这些数据资产,从而提高企业的运营效率。
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 调用API失败的原因是什么? 调用API失败的场景分为三种:同一VPC内调用失败、不同VPC之间调用失败、公网调用失败。 VPC内调用API失败时,请检查域名是否和API自动分配的域名一致,如果域名错误,会导致调用API失败。 不同VPC之间调用API失败时,请检查两个VPC的网络是否互通。如果不通,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。 关于创建和使用VPC对等连接,请参考VPC对等连接说明。 公网调用API失败时,可能的原因如下: API没有绑定弹性公网IP(EIP),导致API缺少公网访问的有效地址,公网调用API失败。绑定EIP后重新调用即可,详细步骤请参考准备ROMA Connect依赖资源。 入方向规则配置有误,导致公网调用API失败。配置入方向规则的详细步骤请参考准备ROMA Connect依赖资源。 调用时未添加请求消息头“host:分组域名”,导致公网调用API失败。添加消息头后,重新调用即可。 父主题: 服务集成
  • MRS Hive是否支持分区? MRS Hive支持分区。 在输入Mapping信息时,可以参考下面格式: {"partion_col":{"origin_col": "源表分区字段名","target_col": "目标分区字段名"},"col_seq":{"index_0":"源表字段1","index_1":"源表字段2","index_2":"源表字段3"}} MRS Hive也不是必须要分区。 若没有分区,在输入mapping信息时,参考下面格式: {"col_seq":{"index_0":"源表字段1","index_1":"源表字段2","index_2":"源表字段3"}} 父主题: 数据集成普通任务
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • FDI各类数据库支持哪些数据类型? FDI各类数据库支持的数据类型有: Kafka数据库:string MySQL数据库:integer,bigint,number,varchar,char,float,date,timestamp,datetime Oracle数据库:integer,bigint,number,varchar,char,float,date,timestamp SQL Server数据库:integer,bigint,varchar,char,float,date,datetime PostgreSQL数据库:integer,number,varchar,char,float,date,timestamp MongoDB数据库:integer,double,string,boolean,date,long,object,array DIS:integer,JSON,arraystring,boolean,long,double,bigdecimal,date MRS Hive数据库:integer,bigint,string,float,timestamp,varchar,char,date MRS HBase数据库:string 不建议在MRS Hive数据库中使用varchar、char、date,长度超过限制后,FDI会自动进行截取,可能造成信息不完整。 父主题: 数据集成普通任务
  • APIC如何对流量进行控制? 您可以通过流控策略控制单位时间内API被访问的次数,保护后端服务,详情请参考流量控制。 默认的流控策略是单个API的访问不超过6000次/秒,如果您未创建流控策略,APIC会执行默认流控策略。您可以在ROMA Connect实例控制台“实例信息”页面中的“配置参数”页签下,通过修改“ratelimit_api_limits”参数来设置API的默认流控策略。 父主题: 服务集成
  • 源端API类型数据源自定义周期如何设置? 创建FDI普通任务时,当源端数据源选择API类型并且开启增量迁移时,支持自定义周期,自定义周期配置详细说明可参照以下示例: 当粒度单位为“小时”时,分别有以下四种配置场景。 以时间点2020-11-05 22:10为例,如下图。 周期指定为“当前周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-05 22:00:00.0,2020-11-05 23:00:00.0] 周期指定为“当前周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-05 22:00:00.0, 2020-11-05 22:59:59.999] 周期指定为“上一个周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-05 21:00:00.0, 2020-11-05 22:00:00.0] 周期指定为“上一个周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-05 21:00:00.0, 2020-11-05 21:59:59.999] 当粒度单位为“天”时,分别有以下四种配置场景。 以时间点2020-11-06 22:10为例,如下图。 周期指定为“当前周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-06 00:00:00.0, 2020-11-07 00:00:00.0] 周期指定为“当前周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-06 00:00:00.0, 2020-11-06 23:59:59.999] 周期指定为“上一个周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-05 00:00:00.0, 2020-11-06 00:00:00.0] 周期指定为“上一个周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-05 00:00:00.0, 2020-11-05 23:59:59.999] 当粒度单位为“周”时,分别有以下四种配置场景。 以时间点2020-11-06 22:10为例,如下图。 周期指定为“当前周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-02 00:00:00.0, 2020-11-09 00:00:00.0] 周期指定为“当前周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-02 00:00:00.0, 2020-11-08 23:59:59.999] 周期指定为“上一个周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间。 获取数据的时间区间为[2020-10-26 00:00:00.0, 2020-11-02 00:00:00.0] 周期指定为“上一个周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-10-26 00:00:00.0, 2020-11-01 23:59:59.999] 当粒度单位为“月”时,分别有以下四种配置场景。 以时间点2020-11-06 22:10为例,如下图。 周期指定为“当前周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间。 获取数据的时间区间为[2020-11-01 00:00:00.0, 2020-12-01 00:00:00.0] 周期指定为“当前周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为当前周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-11-01 00:00:00.0, 2020-11-30 23:59:59.999] 周期指定为“上一个周期”,周期右边界“开区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间。 获取数据的时间区间为[2020-10-01 00:00:00.0, 2020-11-01 00:00:00.0] 周期指定为“上一个周期”,周期右边界“闭区间”时。 开始时间字段和结束时间字段取值分别为上一周期的开始时间和结束时间,结束时间减一毫秒。 获取数据的时间区间为[2020-10-01 00:00:00.0, 2020-10-31 23:59:59.999] 父主题: 数据集成普通任务
  • 为什么规则引擎的数据目的端未收到设备发送的消息? 数据目的端未收到设备发送的消息主要有以下原因: 可能是您的安全组没有添加正确的入方向规则。 请您进入“实例信息”界面,找到您的安全组。单击安全组名称进入安全组详情页面,然后根据表1添加相应的入方向规则。 表1 安全组参数 参数 端口 MQS 内网访问端口 9092 MQS 内网SSL模式访问端口 9093 MQS 公网访问端口 9094、9095、9096 MQS 公网SSL模式访问端口 9095、9096、9097 MQS RESTful接口访问端口 9292 可能是配置的Topic有误。 您需要使用有发布权限的Topic进行消息的发布,请检查您的Topic是否有发布权限。您可以在“Topic名称”这一栏中找到出现问题的Topic名称,然后在“Topic类型”中查看该Topic是否为“发布”类型。如果Topic没有发布权限,设备就无法发送消息到规则引擎的数据目的端。 您可以在设备配置使用“发布”类型的Topic,使设备能够发送消息到数据目的端,从而解决上述问题。 可能是安全组第一条默认规则被删除了。 在创建安全组时,系统会自动生成一条入方向规则,允许规则引擎的数据目的端接收所有设备发送的消息。如果您在没有创建其他入方向规则的情况下删除了这条规则,会让整个安全组缺少入方向规则,导致规则引擎的数据目的端不能收到设备发送的消息。 您可以通过添加入方向规则解决这个问题。如果业务场景需要规则引擎接收特定设备发送的信息,您可以添加入方向规则,将“端口范围”限定为特定设备的端口。如果业务场景需要规则引擎接收所有设备发送的信息,您可以添加入方向规则,将“端口范围”设置为“全部”。 可能是topic被删除。 规则引擎在转发消息时,需要将消息转发到指定的topic上。如果topic因意外被删除,则无法进行消息的转发。 您可以通过创建一个topic,并在规则引擎中配置该topic。创建该topic时需要为topic指定发布或者订阅的权限。 父主题: 设备集成
  • 从OBS解析文件到RDS数据库,采集过一次后,后面采集会进行更新吗? 如果是采集同一个文件,每次在OBS上更新文件,目标端数据库有主键情况下,每次会根据主键更新数据。 如果是采集多个文件,目标端数据库有主键且主键相同的情况下,每次都会更新成时间最早的文件里的值,即数据内容没有变化。因为从OBS获取多个文件默认按照时间降序排序,先解析最晚上传的文件,所以最早上传的文件最后解析,这样就会导致任务执行结束后,数据库中的值还是最早上传的文件中的值。 父主题: 数据集成普通任务
  • 为什么我的设备不能接入设备集成? 设备不能接入设备集成主要有以下原因: 可能是您没有进行设备配置 请在设备上检查连接地址,连接端口,客户端ID,用户名和密码信息是否配置正确。 可能是该设备已经禁用了 请在ROMA Connect上检查设备状态,禁用的设备无法接入设备集成,如果您需要将设备接入设备集成,请将设备状态从“禁用”改为“启用”。 可能是该实例没有打开公网访问 请在ROMA Connect上打开公网访问,具体操作步骤请参考查看实例信息。 可能是该实例没有绑定弹性IP(EIP) 请在ROMA Connect上检查实例是否已绑定EIP,未绑定EIP的实例不支持公网访问。 可能是安全组的入方向规则中端口未配置 请在VPC上检查安全组的入方向规则中是否配置了端口,未配置的端口无法进行访问。 父主题: 设备集成
  • 响应消息 响应参数 表4 响应参数 名称 类型 描述 remark string 描述信息,不能超过200个字符。 topic_id integer Topic的ID。 -1:系统Topic。 大于0:自定义Topic。 topic_name string Topic名。 topic_perm string Topic的权限,只支持pub或sub两种权限。 响应示例 { "remark": "alarm topic ", "topic_id": null, "topic_name": "alarm", "topic_perm": "pub"}
共100000条
提示

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