• [问题求助] java api demo 创建设备后,奇怪消失
    【功能模块】idea环境下运行CreateDeviceByAK【操作步骤&问题现象】1、创建设备 在第一张图 test_deviceName8 成功创建2、控制台重新登录后,test_deviceName8 消失,下图3、很奇怪。运行CreateDevice结果相同。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 基于 API Explorer 调测 API的教程看不懂,感觉步骤跨度有点大
    请问创建完设备后给的这个请求体和响应体有什么用,没找到放代码的地方,小白一枚~
  • [问题求助] 尝试api explorer方式创建设备失败
    【功能模块】API Explorer add device操作失败【操作步骤&问题现象】1、https://bbs.huaweicloud.com/forum/thread-115663-1-1.html 失败,尝试api方式。2、结果相同,返回013000。3、更换几个*product_id,结果相同。确认截图中显示的产品id所属设备可以正常连接平台。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [互动交流] 求助:数据湖治理中心DGC中创建的API在调用时报错
    数据湖治理中心DGC中创建的API,每天都会报几次错误,ERRCODE:DLM.4094,同时JSON内部还有一个错误码DAYU.1088,官网上找不到对应的错误码含义
  • [问题求助] javaapidemo APi创建设备失败
    【功能模块】javaapidemo 示例代码创建一个设备【操作步骤&问题现象】1、已成功得到token2、修改各种id 字符串3、多次运行CreateDeviceJAVA得到失败码{"error_code":"IOTDA.013000","error_msg":"The product does not exist."}Process finished with exit code 0【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] WebDriver API 之常见操作
     浏览器操作:    最大化:maximize_window()    最小化:minimize_windows()    set_window_size(width, heigth)    前进/后退:forward( )  back( )    关闭当前窗口/浏览器:close()  quit()获取页面标题和当前页面url:     获取页面标题:title     获取页面url:current_url     页面刷新:refresh()元素操作:    clear():清除元素内容。    send_keys():向元素输入内容。    click():单击元素。    size:返回元素尺寸。    text:返回元素文本。    get_attribute(obj):返回元素某个属性的值。    location:元素的坐标。    page_source:获取网页源码。鼠标事件:    context_click(),右击。    double_click(),左键双击。    drag_and_drop,拖动。    drag_and_drop_by_offset(),拖动到指定位置。    move_to_element(),悬停。    click_and_hold(),单击并按住不放。下拉框:    通过value值选择:select_by_value('value');    通过文本选择:select_by_visible_text('text');    通过索引选择:select_by_index(index),索引从0开始。浏览器多窗口处理:       每一个浏览器窗口都有一个唯一的标识符,句柄,通过句柄来判断当前处于哪一个浏览器窗口,webdriver中提供了相应方法来进行浏览器窗口的切换。    window_handles,获取所有浏览器窗口的句柄。    current_window_handle,获取当前浏览器窗口句柄。    switch_to.window('handle'),切换到指定浏览器窗口。    close(),关闭当前浏览器窗口。页面多表单(多框架处理):    switch_to.frame(),切换到指定表单。    switch_to.default_content(),切换到最外层表单。    switch_to.parent_frame(),切换到上一级表单。层级定位:先定位A元素,然后定位A下的元素。警告框处理:    定位警告框:switch_to.altert();    accept,接受,相当于点击【确定】    dismiss,解散,相当于点击【取消】定位一组对象:定位到元素后进行批量操作。    find_elements_by_xxxx(),返回一个列表。文件上传:    使用input标签实现的上传:调用send_keys()方法将需要上传的文件路径发送到指定元素即可。    非input标签实现的上传:借助AutoIt,使用 SendKeys第三方库 ,使用win32 GUI等工具实现上传。  截图:    一般在执行用例时,如果用例失败,则将当前窗口截图保存。    方法:get_screenshot_as_file('imgname')       验证码:    屏蔽验证码功能。    将验证码固定。    Python-tesserct模块识别验证码。  键盘事件:    方法:send_keys(cmd)向指定元素发送键盘指令。      Keys.BACK_SPACE,删除。      Keys.SPACE,空格。      Keys.TAB,横向制表符。      Keys.ENTER,回车。      Keys.CONTRAL,'a',全选。      Keys.CONTRAL,'c',复制。      Keys.CONTRAL,'x',剪切。      Keys.CONTRAL,'v',粘贴。      Keys.END,翻到页面底部。      Keys.HOME,翻到页面顶部。      Keys.PAGE_UP,向上翻页。      Key.PAGE-DOWN,向下翻页。多浏览器处理,以及执行JS脚本的方法,后续更新  以上就是我们在做web自动化时经常使用的一下WebDriber APT。
  • [问题求助] 【App Engine】【库】AR眼镜安防模块调用的Roma测api是哪些?
    【功能模块】App Engine中,库里面的“SmartCampus__InnovateSecurityManagement”,里面的“AR眼镜安防”模块【操作步骤&问题现象】1、现需要与AR眼镜联调测试,但是没法找到华为平台Roma中的测试API服务2、想咨询一下api服务在哪里?【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] SMC3.0 API与2.0有多少变化,没有找到相关文档
    SMC3.0 API与2.0有多少变化,没有找到相关文档
  • [问题求助] 【ROMA产品】【API部署】在ROMA平台部署API报错
    【功能模块】深北莫项目【操作步骤&问题现象】1、进入ROMA的平台2、选择sctest1001深澜wifi认证,选择测试成功的API“获取账号的详细信息”,单击“部署”按钮,系统弹出API部署对话框,再单击按钮“部署”,系统报错【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【ROMA】LiveData的API无法消费topic里的消息
    【功能模块】【ROMA】LiveData的API无法消费topic里的消息【操作步骤&问题现象】发送消息的API,能够成功发送:importClass(com.huawei.livedata.util.MQSUtils); importClass(com.huawei.livedata.lambdaservice.security.CipherUtils); function excute(data) {   var obj = JSON.parse(data);      var topic_url = "#{mqsHost}";   var topic_appId = "#{publisherAppId}";//这个是指应用的ID。   var topic_passWord = CipherUtils.getPlainCipherText('AppSecretKey');//从密码箱取出请求密钥。   // topic   var topic_name = "T_device_msg";      var msg = {};   var body = {};   var utils = new MQSUtils();   var result = "";   var rtnMsg = {};      try {     body = obj.hasOwnProperty('body') ? obj.body:{};          msg.body = body;          // 发送普通消息     result = utils.sendMsg(topic_url,topic_appId,topic_passWord,topic_name,JSON.stringify(msg));       rtnMsg = {       "resCode":0,       "resMsg":result     };   } catch(exception) {          rtnMsg = {       "resCode":1,       "resMsg":exception +""     };        }      return JSON.stringify(rtnMsg); }    2. 消费消息的API:importClass(com.huawei.livedata.util.MQSUtils); importClass(com.huawei.livedata.util.MQSCallback); importClass(com.huawei.livedata.lambdaservice.util.CacheUtils); importClass(com.huawei.livedata.lambdaservice.security.CipherUtils);     function excute(data) {        var obj = JSON.parse(data);              var util = new MQSUtils();       var callback = new MQSCallback();       var cache = new CacheUtils();              var topic_url = "#{mqsHost}";       var appId = obj.env.$appId;       var appSecretKey = CipherUtils.getPlainCipherText("AppSecretKey");              //获取网关地址      var apiGwAddress = cache.get("DICT:api_gw_rest_float_addr");      if(apiGwAddress === "" || apiGwAddress === null){        apiGwAddress = cache.get("DICT:api_gw_rest_addr");      }              callback.setHost(apiGwAddress);        callback.setService("/test/consumer/consumeCallBack");         var headers = {           "X-HW-ID":appId,           "X-HW-APPKEY":appSecretKey       }       callback.setHeaders(JSON.stringify(headers));        callback.setMethod("POST");                  var result = util.consumerMsg(topic_url,appId,appSecretKey,"T_device_msg",callback);              return result;     }    3. topic消息轨迹:另外,有没有MQSCallback的文档?
  • 调用projectman接口,sdk封装实体类型与api接口不一致导致报错
    sdk: huaweicloud-sdk-projectman版本:3.0.34-rc 调用ListProjectWorkHours按用户查询工时(多项目)接口 api:sdk中封装的实体:类似的问题还有:listProjectsV4
  • [问题求助] 【合作伙伴赋能认证】【进阶认证任务4】使用“智慧园区”地图报“没有获取到API Connector”
    参考了之前“[问题求助] 【GIS地图】【引入第三方地图服务】使用地图组件,选择自定义的地图类型,会出现“没有获取到API Connector”的提示”这个帖子里面的解决办法,配置了“API POST Connector”,还是报错,如上图所示;奇怪的是如果我在“地图设置”里面把地图类型设置为百度地图或高德地图就不报错,如果设置为超图、谷歌地图就报错,不知道为什么;
  • [问题求助] 【智慧园区生态伙伴开发工程师赋能课程】【配置工单管理资产】user用户API写权限无法保存
    【功能模块】智慧园区生态伙伴开发工程师赋能课程---电梯运维系统开发---配置工单管理资产【操作步骤&问题现象】1、新建“客服人员”权限配置Profile。2、为user对象修改权限,添加API写的权限失败,保存后重新打开失效【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • 签到37天,给自己立个flag,把API Explorer任务搞起来
    签到37天,给自己立个flag,把API Explorer搞起来
  • [虚拟化] 深入理解K8S架构
    K8S技术庞杂,内容繁多,密度量大,如果一头扎进官网文档,估计会犯晕。这里提炼概览,对核心概念和流程进行分析讲解,在脑海里重建Master和Worker节点和他们的组件构成。两大角色  K8S有两大角色,一个是Master节点,一个是Worker节点。  其中Master负责管理和调度集群资源,Worker负责提供集群资源。  在一个高可用的集群当中,他俩一般由多个节点构成,这些节点可以是虚拟机也可以是物理机。  Worker提供的节点叫Pod,简单理解Pod就是K8S云平台提供的虚拟机,Pod里头住的是应用容器,比如Docker容器。  大部分情况Pod里只包含一个容器;有时候也包含多个容器,其中一个是主容器,其他是辅助容器。  为了加深理解,这里做个简单类比。Master好比指挥调度员工干活的主管,Worker好比部门当中实际干活的人。  K8S主要解决集群资源调度的问题,当有应用发布请求过来的时候,K8S会根据集群资源的空闲状态,把集群当中空闲的Pod合理的分配到Worker当中;另外,K8S还负责监控集群,当集群中有节点或者Pod挂了,它需要重新协调和启动Pod,保证应用的高可用,这个技术也叫自愈;另外K8S还需要管理集群的网络,保证Pod和服务之间可以互通互联。Master节点和构成Master节点是集群的大脑,它由四大组件构成:etcdetcd是分布式的KV数据库,负责状态存储,所有集群的状态,比如节点Pod发布,配置等等。高可用的etcd集群部署一般要三个节点。etcd可以独立部署,也可以和Master节点一起部署。api server集群的接口和通信总线。kubectl,kubelet,kube-proxy,dashboard,sdk操作背后都是通过api server和集群进行交互。可以理解为etcd的一个代理,是唯一能够直接访问和操作etcd的组件,其他组件都只能依赖api server间接操作etcd。它还是集群的事件总线(EventBus),其他组件可以订阅它,当有事件发生时候,会通知感兴趣的这些组件。scheduler负责集群调度决策。当新的应用请求到达集群,scheduler负责决策相应的Pod应该分布到哪些空闲节点上。controller manager负责保证集群状态最终一致性。它通过api server监控集群的最终状态,确保集群状态和预期状态是一致的。如果一个运用要求发布10个Pod,controller manager会最终启动10个Pod,如果一个Pod挂了,它会负责协调,重新启动Pod。如果Pod启多了,它会协调关闭多余Pod。也就是说,K8S采用的是最终一致调度策略,它是集群自愈背后的实现机制。Worker节点和构成  worker节点是集群资源的提供者,它由这几个组件构成:kubelet向下,它是worker节点的资源管理者,相当于一个agent,它并不是直接管理节点资源,而是委托container runtime进行管理。比如启动、关闭容器、收集容器状态。向上,它负责监听api server产生的事件,根据master的指示,启动或关闭Pod等资源;它也负责将本节点上的状态汇报给master节点。如果说master节点是K8S集群的大脑,那么kubelet节点则是worker节点的小脑。container runtime是节点容器资源的直接管理者。如果采用docker容器,管理的就是docker引擎。如果本地没有镜像缓存,它会到docker register或者docker hub上拉取相依的镜像,然后缓存在本地。kube-proxy 负责管理K8S集群上的服务组件。我们知道Pod是K8S当中一个不固定的概念,为了屏蔽PodIP的变化(包括预期和非预期变化),K8S引入Server组件,并且在调用的时候进行负载均衡。kube-proxy就是实现k8s server背后机制。另外,当需要把K8S当中的服务暴露给外网的时候,也是通过kube0-proxy进行代理转发。发布流程  接下来通过一个发布流程展示这些组件之间是如何配合工作的。向api server发送create new replicaset请求,api server会把请求存储在etcd当中。controller manager会监听到replicset的创建或修改相关事件。controller manager接收到通知,会比较当前集群状态和预知集群状态,它发现不一致,需要创建新的Pods。你通过kubectl提交的发布模板,在api server当中创建预期的Podscheduler监听到需要创建新的Pod资源,它通过调度算法,选择空闲节点,然后跟进api server更新Pod的定义,这个定义将Pod分配到指定的节点上。注意到这一步,应用还没真正发布,controller manager和scheduler只是通过api server更新了预期的集群状态。一旦Pod被指定分配给某个workder节点,api server就会通知相应节点上的kubelet。kubelet接收到通知,就会指示节点上的container runtime,比如说docker engine运行相应的容器。container runtime开始下载镜像,启动容器。kubelet也开始监控容器的运行,到这一步应用容器就开始正式运行了。综合架构  前面对K8S的组件分别进行了分析,接下来我们综合起来看一下它的总体架构。   集群中的Pod通过overlay network相互寻址和通信。实现覆盖网络的技术很多,比如Flannel,Vxlen,Callco,Weave-Net。  另外如果外网流量要访问集群当中的服务,一般要走负载均衡器(Load Balander),再通过kube-proxy间接地转发到服务的Pod上。  除了前面这些组件,外围还包括存储,监控,日志,分析等配套的支撑服务。  对于K8S这种复杂而庞大的系统,我们先要了解它的架构,包括组件的构成和作用,流程,总体架构。帮助我们在头脑当中建立起K8S的架构概念模型,帮助我们在实践中学习和运用好K8S。
总条数:1432 到第
上滑加载中