• [技术干货] Link使用指南之产品管理
    产品模板是对设备在云端的功能描述,通过设置一系列属性抽象产品模板,模板属性可以被多个产品继承。产品是一系列设备的集合,产品属性可以被多个设备继承,一组设备可构成具有完整功能的产品。本章节提供创建产品模板、创建产品、创建模板属性、创建产品属性等操作的详细指导。创建产品模板登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。单击“产品模板 > 创建产品模板”。配置模板信息,参数详细信息如下:产品模板名称:长度不超过64个字符,支持中文,英文字母,数字,下划线和中划线,必填项。描述:建议添加关于此模板的简短描述,长度不超过200个字符,非必填。是否启用:默认启用。如果您选择不启用,则该模板不能创建属性,新建产品不能选择该模板。单击“确认”,完成产品模板创建。修改产品模板登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。单击“产品模板 > 编辑”。配置模板信息,参数详细信息如下:产品模板名称:长度不超过64个字符,支持中文,英文字母,数字,下划线和中划线,必填项。描述:建议添加关于此模板的简短描述,长度不超过200个字符,非必填。是否启用:默认启用。如果您选择不启用,则该模板不能创建属性,新建产品不能选择该模板。单击“确认”,完成产品模板修改。创建模板属性登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。单击“产品模板 > 创建属性”。输入属性信息,详细参数如下:属性名称:支持中文,英文大小写,数字,下划线和中划线,不超过64字符,必填项。属性标识:支持英文大小写,数字,下划线和中划线,不超过64字符,必填项。类型:支持选择string、number、bool、object、array,非必填项。默认值:前端需根据类型做校验,object和array长度最大2000,string最大256,number最大16个,boolean(True or False),非必填项。单位:长度不超过50字符,非必填项。描述:长度不超过50字符,非必填项。单击“确认”,完成模板修改。删除产品模板登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。选择待操作的模板,单击操作栏的“删除”,弹出“删除产品模板”页。单击“确认”,完成模板删除。说明:如果产品应用了该模板,则不允许删除该模板。创建产品登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。单击“创建产品”,进入“创建产品”对话框。配置产品信息,详细参数如下:产品名称:长度不超过64个字符,支持中文,英文字母,数字,下划线和中划线。产品模板:选择产品需要继承的模板,继承后具有该模板的所有属性,如不需要,选择“无”。产品描述:长度不超过200个字符。说明:模板处于停用状态时不能被产品继承。单击“确认”,完成产品创建。修改产品登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。选择待操作的产品,单击操作栏的“编辑”,弹出“编辑产品”页。修改产品信息,详细参数如下:产品名称:长度不超过64个字符,支持中文,英文字母,数字,下划线和中划线。产品模板:选择产品需要继承的模板,继承后具有该模板的所有属性,如不需要,选择“无”。产品描述:长度不超过200个字符。说明:模板处于停用状态时不能被产品继承。单击“确认”,完成产品修改。创建产品属性登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。选择待操作的产品,单击操作栏的“更多 > 创建属性”,弹出“创建属性”页。配置属性信息,参数详情如下:属性名称:支持中文,英文大小写,数字,下划线和中划线,不超过64字符,必填项。属性标识:支持英文大小写,数字,下划线和中划线,不超过64字符,必填项。类型:支持选择string、number、bool、object、array,非必填项。默认值:前端需根据类型做校验,object和array长度最大2000,string最大256,number最大16个,boolean(True or False),非必填项。单位:长度不超过50字符,非必填项。描述:长度不超过50字符,非必填项。查看产品证书产品证书可以作为访问产品所属的设备的凭证,实现一个产品下所有设备使用一套认证。登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。选择待操作的产品,密码一栏即是“产品证书”,单击“显示”将会显示完整的产品证书。、删除产品登录ROMA控制台,单击“查看控制台”。单击左侧菜单栏“设备集成LINK > 产品管理”。选择待操作产品,单击操作栏的“删除”,弹出“删除产品”页。单击“确认”,完成产品删除。说明:如果该产品下还存在设备,则不允许删除该产品。
  • [技术干货] 扩大实例配额
    操作场景企业集成平台ROMA管理控制台支持用户申请扩大实例配额。前提条件您需要创建的ROMA实例的数量大于你的实例配额数量。操作步骤登录ROMA控制台。在管理控制台右上角选择区域。此处请选择与租户的应用服务相同的区域。单击“申请扩大配额”,进入新建工单页面。选择区域。此处请选择与租户的应用服务相同的区域。添加问题描述,填写联系方式和联系时间。阅读《用户授权书》和《隐私政策声明》后,单击“我已阅读并同意《用户授权书》和《隐私政策声明》”。确认以上信息无误后,单击“提交”创建的新的工单。
  • [技术干货] 修改实例信息
    操作场景企业集成平台ROMA管理控制台支持修改实例名称。实例状态为运行中、故障、已冻结的按需付费实例才能执行删除操作。前提条件已创建ROMA实例。删除实例登录ROMA控制台。在管理控制台左上角选择区域。此处请选择与租户的应用服务相同的区域。在实例概览除单击“删除”。单击“确定”,完成删除ROMA实例。删除实例大约需要1~30分钟。注意:ROMA无法恢复已删除的实例,请您谨慎操作。修改名称登录ROMA控制台。在管理控制台左上角选择区域。此处请选择与租户的应用服务相同的区域。单击“查看控制台”,进入实例信息页面。单击实例名称右边的编辑键,此时实例名称所在的位置会变成一个文本框,您可以输入实例的新名称,完成之后单击“√”保存。修改描述登录ROMA控制台。在管理控制台左上角选择区域。此处请选择与租户的应用服务相同的区域。单击“查看控制台”,进入实例信息页面。单击实例描述右边的编辑键,此时实例的描述所在的位置会变成一个文本框,您可以输入实例描述,完成之后点击“√”保存。修改安全组登录ROMA控制台。在管理控制台左上角选择区域。此处请选择与租户的应用服务相同的区域。单击“查看控制台”,进入实例信息页面。单击安全组右边的“更改”,此时安全组所在的位置会变成一个下拉菜单,您可以单击菜单选择新的安全组,完成之后点击“√”保存。修改维护时间窗口登录ROMA控制台。在管理控制台左上角选择区域。此处请选择与租户的应用服务相同的区域。单击“查看控制台”,进入实例信息页面。单击安全组右边的编辑按键,此时安全组所在的位置会变成一个下拉菜单,您可以单击菜单选择新的维护时间窗口,完成之后点击“√”保存。
  • [问题求助] CSE控制台consolewebsite问题
    问题一:consolewebsite,选择删除微服务实例的时候报403:问题二:consolewebsite,微服务实例在页面中,显示的有重复的微服务实例,比如:10.1.1.1,会显示两遍。
  • [教程] 使用OBS BucketPolicy实现多子用户不同目录访问控制
    背景当前公有云客户数据使用过程中,需要实现对下游客户或不同部门的数据访问权限的约束控制,那么为了更好的指引客户使用,特进行此场景的业务权限配置说明本教程基于OBS Browser版本 3.4.3 进行。下载地址:https://obstool-north.obs.myhwclouds.com/browser/hec/win64/OBSBrowser.zip1 IAM上创建子用户并赋予OBS服务权限在本章节您将会完成如下几个动作:  创建子用户;  创建用户组;  授予子用户访问OBS服务权限需要注意的事情:先在本地表格中规划好需要使用的用户名和权限分配,并做好访问密钥的记录;例如:用户名归属用户组AccessKeyIDAccessSecurityKeyIDOBS服务权限OBS目录&权限OBS桶名OBS_Analysis-01OBS_AnalysisLT******SK*******OBS viewerWuhan_01/(Read)obsslef-whbOBS_Analysis-02OBS_Analysis-031.1创建子用户使用华为云注册的主账户登陆华为云IAM服务控制台,https://console.huaweicloud.com/iam/;并点击创建用户,如下图所示: 创建用户,凭证类型选择 “访问密钥”,输入规划好的用户名  并点击确定后弹出 “下载访问密钥”的创建,点击确定下载密钥文件,将密钥信息保存至之前规划好的表格中进行记录。 如此反复,创建好所有已规划的用户。并将用户名访问密钥记录至表格。1.2创建用户组点击用户组--->创建用户组,输入用户组名称,点击确定。  下面需要将用户都加入到用户组中,并给用户组赋予访问OBS服务权限。在上一步骤创建的用户组对应的右侧 点击“用户管理”,勾选之前创建的用户并点击“确定”。 点击用户组(OBS_Analysis)右侧--->“权限配置”,全局服务-->对象存储服务-->设置策略-->OBS Viewer;然后点击“确定”完成权限配置。  2在OBS web console控制台 给子用户配置策略在本章节您将会完成如下能力:      实现子用户在特定桶内特定目录的读/读写/删除权限配置;权限控制的原理是使用OBS存储的BucketPolicy来实现,对于其详细控制内容介绍可以参考如下链接中内容描述(https://support.huaweicloud.com/devg-obs/zh-cn_topic_0132788579.html),本人只介绍在界面进行基本的读写等权限配置。使用主账户登陆OBS服务的控制台(https://storage.huaweicloud.com/obs),选择需要进行权限配置的桶(本文以obsslef-whb桶为例)。点击桶名--->权限--->桶策略--->高级桶策略--->创建桶策略。如图所示: 举例:我们给OBS_Analysis-01用户设置访问目录wuhan_01的只读权限。按照如下进行设置后点击“确定”。   模式:选择自定义模式  效果:allow  被授权用户:当前账户---> OBS_Analysis-01  资源:包含;wuhan_01/*  动作:Get*,List*  配置后效果如下: 根据不同的用户,和不同的权限目录进行多个策略的创建,就不再叙述。读写的权限只需要修改动作部分即可,说明如下:动作:Get*,List*,Put*   # 具有读写权限动作:Get*,List*,Put*,DeleteObject,DeleteObjectVersion,AbortMultipartUpload   # 具有读写删权限动作:Get*,List*,Put*,ModifyObjectMetaData   #具有读写对象权限,同时有修改对象元数据权限3终端用户使用用户 ak sk 登陆OBS Browser操作数据经过以上步骤之后我们的权限设置以及完成,那么可以在终端用户侧进行使用。这儿依然以上文中的OBS_Analysis-01用户和目录wuhan_01进行举例。下载OBS Browser后,进行账户登录.账户名:OBS_Analysis-01  #可以根据自己喜好定义,建议和之前规划用户名保持一致存储服务:OBS服务Access Key ID:X2******Secret Access Key: Y*************访问路径:obsslef-whb/wuhan_01/  # 规则是:桶名/目录名/ 点击确定后,登录此用户 可以看到进入到此目录下文件。 验证:上传对象会阻止,没有权限;下载文件允许。整体业务部署成功。上传失败: 下载成功: --结束
  • [产品体验官] 华为云MapReduce体验_from_smirk
    MRS 体验这次主要是体验一下华为云的MRS,也就是Map Reduce Service,或Map Reduce服务,好多名字,都一个意思。应该是对标阿里云那边的EMR,鹅厂的弹性MR,都差不多,大家起名也没出花来,起出花来估计就卖不出去了。之前体验过大数据的训练营,大概知道MRS能做什么,那时候就有个疑问,除了展示的实际案例,到底还能做些什么,除去华为提供的接口操作,我们又能进行哪些操作?具体到自己的项目如何落地?嗯,看完这次的体验报告就.......可能依然不知道。这次体验就做一些非案例的Hadoop生态的操作实验,时间太紧张,仅限于分析集群功能吧,后续有空补充流式集群内容。操作体验记录下过程供有需要的同学参考吧,只要钱足够,可以随便玩。购买与部署EMR购买的时候没太留心操作太快,记得弹出的提示窗口是返回弹性大数据控制台(帐号没有集群的情况,已有集群的情况是返回集群列表),这个会有点懵吧估计,不过从这个能看出来和友商的EMR应该是对标的产品。实际创建的过程比较长,首先安装MRS Manager,十分钟左右进入开始部署集群。体验集群低配,配置如下:Master: 1 * | c3.xlarge.4 | 4 核 | 16 GB分析Core:1 * | c3.xlarge.2 | 4 核 | 8 GB流式Core:1 * | c3.xlarge.2 | 4 核 | 8 GB选了Hadoop,Spark,HBase,Hive,Hue,Kafka,Storm,Loader,Flume,Tez组件。集群版本 MRS 2.0.0集群类型 混合集群这里吐个嘈, 在组件信息描述中kafka和storm首字母小写的,让强迫症患者怎么活。这样的配置,大概三十分钟左右创建完成,这个部署的时长和选用组件的多少也有关系。处于启动中(部署集群中)的状态时,可以登陆MRS Manager查看服务的状态如上图可以了解更多的集群状态信息。EIP使用弹性IP提供外网访问接口。EIP购买之后,弹出返回私有云控制台。实际界面上显示的是网络控制台。以上两个购买过程中购买成功的页面提示可能看着会有点懵,不过,都还好。只能点确认,没什么需要选择,所以也不影响使用。操作买好了之后,实操一下,没有什么业务场景,纯体验。所以,从帮助文档开始。如果需要体验实际的业务场景应用,可以关注21天晋级大数据实战营,有很多实际的案例可以参考。解决场景理解与MRS结合的问题。本文评测就不搬案例了,大家看一下课表,对典型的应用场景有个概念就好。简单提一句,华为这两年在教育方面的投入很给力,提供了很多课程和资源给用户。大家多关注华为云学院,多学习。控制台界面帮助文档买好了之后首先考虑的是能做什么,看下帮助文档,了解HWC对用户有什么要说的。帮助页面很简洁,图形化显示了整个MRS使用的Pipeline。包含了常用链接与常见问题。此处有掌声,不得不说这里列举的常见问题,确实是常见问题。新用户拿到MRS首先要考虑的可能就是这俩问题,这个帮助页面点赞。访问组件UI界面但是,点开第一个常见问题链接访问组件UI界面。链接点这里第一段的场景介绍上来就看懵了,感觉要很复杂的过程才能访问。但是,实际上,在MRS控制台的首页>现有集群,集群管理页面边上有个链接,点击查看。点击之后HWC会引导用户针对来访IP添加访问组规则,很方便的可以访问到MRS Manager。跳转页面登陆后页面整体操作其实是挺方便的,但是文档写的稍微复杂了一点,应该是针对专业用户有所考虑。对于我这个新用户来讲,有一种做好事不留名的感觉。客户端管理帮助文档的另外一个项目,是客户端管理,页面提到了在什么场景下能用到这个功能。MRS集群提供了客户端,可以在连接服务端、查看任务结果或管理数据的场景中使用。用户需要使用MRS的客户端时,或者在MRS Manager修改了服务配置参数并重启了服务,需要先下载并更新客户端配置文件。用户创建集群时,默认在集群所有节点的“/opt/client”目录安装保存了原始客户端。集群创建完成后,仅Master节点的客户端可以直接使用,Core节点客户端在使用前需要更新客户端配置文件。这里注意一点,在MRS Manager修改了服务配置参数并重启了服务之后,需要先下载并更新客户端配置文件。如果改了配置不好用,点到帮助页面,看到这个帮助链接应该能很快定位问题。下载客户端这个操作也比较费时,因为整个包比较大,3G左右。操作提示有说是高IO操作,感受下根据安装的组件多少,这个Client大小估计会变化的吧,3G,提示了及时删除在没有版本更新,只下载配置文件的情况下速度很快。下载之后的提示信息在管理页面可以看到磁盘读写的记录,体会下高IO。在帮助文档中有说明,成功下载了配置文件之后,该怎么做。体验了下帮助文档中的方法一,很快,很方便。看到方法二,提到可以自动更新。但是实际上是没有autoRefreshConfig.sh这个脚本的,应该后续会更新的吧但是,并不影响使用,方法一依然可以解决问题。文档后面还包含了全量更新主备节点的Client方法。帮助文档这部分满分。操作日志在MRS控制台还提供了操作日志,注意这里面的操作记录的应该是通过MRS控制台的操作,通过终端登陆集群的操作是不记录的。集群列表这个页面提供了集群的常用操作,MRS使用中除了创建集群的前后两个环节都提供了页面接口,作业管理与文件管理。文件管理和HDFS中的文件是同步的。文件管理部分,支持与OBS之间数据导入导出。这里重新体会下MRS帮助页面的流程,上传数据,创建集群,查询执行结果。大量的数据上传应该是传到OBS里面,然后从OBS导入到集群中,OBS提供了DIS工具,可以将数据批量上传。控制台页面在MRS的整个链路上是清楚的,工具链是完整的。管理页面可以提供数据导入操作。Hadoop帮助文档中有个快速入门,里面推荐了从Apache官方下载Hadoop-2.7.4.tar.gz,这个其实没必要,可以通过客户端下载拿到,也可以通过华为开源镜像站下载,速度很可以。而且,不同的集群版本不一定是2.7.4,比如现在的2.0的集群,hadoop版本是3.1.1.Spark
  • [改进建议] 登录控制台后,默认没有选择任何区域
    今天收到提醒续费的短信,所以登录到控制台,显示弹性云服务器列 为0个,想着应该是区域未选择,找了一下区域选择,找了半天才找到(不熟悉),原因是 区域选择竟然是空白的!建议增加登录后 自动选择一个存在ECS的默认区域,或者首页可以显示出各个区域的ECS数量。
  • [热门活动] 华为云资源模板服务于2019年01月18日00:00(北京时间)结束公测并下线产品页及控制台通知
    尊敬的华为云客户:华为云计划于2019/01/18 00:00:00结束资源模板服务的公测,下线产品页及控制台,保留后台API。资源模板服务下线产品页及控制台后,将无法通过控制台使用该服务,可继续使用后台API,使用方法详见API指导文档。如您有任何问题,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!
  • [热门活动] 华为云弹性负载均衡服务(ELB)控制台入口变更通知
    尊敬的华为云客户:华为云计划于2018/11/08将弹性负载均衡服务(ELB)控制台,从云服务器控制台迁移至网络控制台,届时请您前往网络控制台购买并查看弹性负载均衡的相关资源。路径:登录华为云控制台—所有服务—网络—弹性负载均衡ELB如您有任何问题,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!
  • [问题求助] 在管理控制台配置安全配置出错
    我在安全配置中设置常用添加地时,显示列表为空,我无法添加任何一个城市。并且在确定时显示至少添加一个,这个就很难办了。添加常用IP也是一样的情况,希望小哥哥小姐姐帮忙看看。谢谢
  • [大咖交流] sidecar-inject代码分析
    Istio通过对serviceMesh中的每个pod注入sidecar,来实现无侵入式的服务治理能力。其中,sidecar的注入是其能力实现的重要一环(本文主要介绍在kubernetes集群中的注入方式)。sidecar注入有两种方式,一是通过创建webhook资源,利用k8s的webhook能力实现pod的自动注入,二是通过istioctl工具,对yaml文件进行手动注入。在这里对这两种方式进行简单介绍。 一、webhook自动注入:a)         准备条件:                         i.              自动注入功能需要kubernetes 1.9或更高版本;                       ii.              需要在kube-apiserver的启动参数中加入--admission-control=MutatingAdmissionWebhook,ValidatingAdmissionWebhook                      iii.              k8s中webhook需要签名密钥对,用于自动注入时的认证鉴权。(此处可通过install/kubernetes/webhook-create-signed-cert.sh脚本生成,这个脚本会调用kubernetes的CSR API生成一个具有K8S签名的密钥对,用于Webhook。然后建立一个secret存放证书信息。)                      iv.              可通过在sidecar-injector的configmap中设置policy=disabled字段来设置是否启用自动注入,同时也可以在deployment中通过设置annotation,sidecar.istio.io/inject=true来控制pod级别的自动注入。                       v.              为需要自动注入的namespace打上标签istio-injection: enabled。                      vi.              确保master到node容器网络通信正常。b)         定义webhook文件,格式如下(在helm包的sidecarInject中)。这里的语义就是,监听具有istio-injection: enabled的label的namespace下的pod资源,当发生rules(CREATE POD)的动作时,则调用services(istio-sidecar-injector.namespace的/inject接口)。apiVersion: admissionregistration.k8s.io/v1beta1kind: MutatingWebhookConfigurationmetadata:  name: istio-sidecar-injector  namespace: {{ .Release.Namespace }}  labels:    app: istio-sidecar-injectorwebhooks:  - name: sidecar-injector.istio.io    clientConfig:      service:        name: istio-sidecar-injector        namespace: {{ .Release.Namespace }}        path: "/inject"      caBundle: ""    rules:      - operations: [ "CREATE" ]        apiGroups: [""]        apiVersions: ["v1"]        resources: ["pods"]    failurePolicy: Fail    namespaceSelector:      matchLabels:        istio-injection: enabled c)         webhook工作流程图                                               d)         inject代码分析(代码位置pilot/pkg/kube/inject/webhook.go):                         i.              sidecar-inject接收kube-master发出的自动注入请求,并校验、解析请求结构体(请求体中包含触发条件中,creating的pod的结构体。)                       ii.              判断是否需要注入,筛选满足条件的pod,筛选条件包括:是否开启了hostNewWork、是否为需要注入的ns、annotation中是否指定为需要注入等条件;                      iii.              若满足条件则进行注入,注入的sidecar的镜像信息、启动参数、挂载信息等内容,存储在sidecar-inject的configmap中,注入时会从configmap中提取对应的值,填到模板中,再将填好值的模板注入到pod中;                      iv.              将注入好的pod信息返还给kube-master,完成自动注入。 二、istioctl手动注入(代码位置istioctl/cmd/istioctl/inject; pilot/pkg/kube/inject/inject.go):a)         手动注入操作步骤:                         i.              下载istioctl工具并拷贝至环境,链接https://github.com/istio/istio/releases/ ;                       ii.              将istioctl二进制拷贝至/usr/local/bin目录下mv -f istioctl /usr/local/bin                      iii.              安装Istio控制面,确认注入相关configmap已创建成功$ kubectl get cm -n istio-system | grep istio-sidecar-injectoristio-sidecar-injector                  1         15h                      iv.              准备需要注入的文件test.yaml                       v.              执行istioctl会在原始内容的基础上加入sidecar的配置内容,并输出到控制台。$ istioctl kube-inject -f test.yaml                      vi.              将istioctl处理之后的内容部署到kubernetes上$ kubectl apply -f <(istioctl kube-inject -f test.yaml)                    vii.              可以通过k8s命令查看pod详细内容$ kubectl describe pod test-c9f4b55c7-np4cf b)         代码分析:                         i.              首先打开原始deploy.yaml文件或读取控制台输入,读取为文件流;                       ii.              从config文件或k8s的configmap中读取sidecar模板所需的值(同上述c中第三步)。                      iii.              将上步得到的值填入sidecar模板中,生成模板实例;                      iv.              将模板实例注入到源deployment中,生成注入好的文件。 三、总结:这里更推荐自动注入的方式来实现sidecar的注入,可以通过在deployment的annotation中加入对应的key来实现自动注入的控制。而源码部分,注入的逻辑并不复杂,主要是对k8s中webhook的使用,以及通过模板,向deployment中注入相应的container资源等。
  • [改进建议] 控制台凭证管理 密钥的优化建议
    今天在做大数据实战课程,到此环节。发现一个问题,当使用chrome浏览器的时候创建的密钥自动下载。 但是,密钥的名字是固定的,如果说多个华为云账户的话可能引起密钥管理的不便。 能不能在生成的时候多一个用户自定义储存名字的过程。或者,自动生成后面加一个 username。 19139 使用火狐浏览器的话有个二次确认。
  • [教程] RDS服务FlavorID获取指南
    19273 笔者是一枚AOS萌新用户,在使用编排RDS的功能中,遇到了一个很大的问题——RDS的FlavorID怎么获取?RDS服务中,同一个规格的FlavorID对于每个用户的每个project_id都不一样,没有一个通用的标准,而其API却只接收FlavorID进行实例的创建,非常不方便。 按照官方文档的指引,找到了这个API https://support.huaweicloud.com/api-rds/zh-cn_topic_0032347783.html。按照文档使用这个接口获取FlavorID总计需要请求3次不同的地址。如果要使用API创建数据库,还得在请求体里面填写某些字段与FlavorID对应,对应不上的还不允许创建。请求体互相之间有影响,字段又难拿,不管你们什么感觉,笔者看着都觉得很难受。 后来想了个办法,不用手动调API了。方法就是在RDS界面上创建一个新的RDS实例,等等等等等它创建成功之后,从实例信息的请求体里面可以抓出来FlavorID。该方法操作起来简便,不过少说等个几分钟还是要的,万一创建没成功还拿不到。 虽说用上面那个办法等个几分钟就拿得到想要的结果,不过笔者这暴脾气忍不了这个。成天琢磨RDS服务界面上请求后台时的返回值里面哪里有FlavorID的身影。笔者也算是运气好,在某个界面遇到了某个神奇的API,最终在返回值里面找到了心心念念的FlavorID大集合。有了API就好办,写了个chrome控制台下的请求指令,造福大家。 使用方法,进入RDS服务页面https://console.huaweicloud.com/newrds/,按F12进入Chrome的控制台选项卡(Console),复制粘贴执行文末的命令即可。代码使用的js版本较高,低版本的Chrome(低于Chrome 51)可能会无法执行。19272 妈妈再也不用担心我编排RDS服务找不到FlavorID啦~19271 [code]fetch(new Request("https://console.huaweicloud.com/newrds/rest/me", { headers: new Headers({ "cftk": document.cookie.match(/cftk=([^;]*)/)[1], }), credentials:'include', redirect: 'follow', })).then((resp) => resp.json()).then((obj) => { window.user = obj let pick = (o, ...props) => ( Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))) ) console.table(pick(obj, "projectId", "domainId", "region")) return fetch(new Request("https://console.huaweicloud.com/newrds/rest/rds/v2/"+obj.projectId+"/createInfo?regionCode="+obj.region, { headers: new Headers({ "cftk": document.cookie.match(/cftk=([^;]*)/)[1], }), credentials:'include', redirect: 'follow', })) }).then((resp) => resp.json()).then((obj) => { let isKVM = (flavor) => flavor.serverType == "KVM" let pick = (o, ...props) => ( Object.assign({}, ...props.map(prop => ({[prop]: o[prop]}))) ) let codeType = (flavor) => flavor.code.split('.')[1] window.createInfo = obj let flavors = obj.constant.flavors console.log("all flavors", flavors) let KVMonly = false for (let flavor of flavors) { if (isKVM(flavor)) { KVMonly = true break } } let filtedFlavors = [] for (let flavor of flavors) { if (KVMonly && !isKVM(flavor)) { continue } filtedFlavors.push(pick(flavor, "id", "cpu", "mem", "code", "regionStatus", "serverType")) } filtedFlavors = filtedFlavors.sort((a, b) => { let typeA = codeType(a) let typeB = codeType(b) if (typeA !== typeB) return (typeA typeB ? -1 : 1) let cpuA = Number(a.cpu) let cpuB = Number(b.cpu) if (cpuA !== cpuB) return (cpuA cpuB ? -1 : 1) let memA = Number(a.mem) let memB = Number(b.mem) return (memA memB ? -1 : 1) }) console.table(filtedFlavors) }) [/code]
  • [公告] 如何申请开通深度学习服务
    本帖最后由 人工智能 于 2018-5-2 16:47 编辑 申请开通服务流程 步骤一: 注册并登录华为云,单击右上角的“控制台”。 步骤二: 在“控制台”界面,选择“EI 企业智能>深度学习服务”,进入“申请DLS公测”界面。 步骤三: 单击“立即申请”,在“申请公测”界面,填写申请信息,勾选“同意《公测使用服务协议》”,单击“申请公测”。 说明: 公测审批当前是人工审批,一般需要等待2~3天,如遇节假日顺延。 公测申请审批通过后,即可进入深度学习服务管理控制台。
  • [经验交流] 控制台密码安全
    目前登录控制台,采用的是账户密码认证,感觉好不安全,不知道有什么方式保证安全? 我云服务器可以用密钥对登录,那么控制台登录有啥安全手段