• 【API进阶之路】甩锅大会上,我是如何绝地求生的
    我就是你们所说的前浪,在公司撸码多年,前两周因为云服务器被新来的985实习生摆了一道(了解前情请戳:因为不会创建云服务器,我被实习生摆了一道),当然,我也凭借着一名优秀程序员的经验和自学习能力,快速给予了反击。(了解前情请戳:前浪的绝地反击与自我证明)。 部署在华为云弹性云服务器上的新项目市场反响不错,运营部门在月末总结会上得到了老板的赞赏。万万没想到,在一片欢乐祥和的氛围中,运营老大提出了一个问题:“现在我们网站的加载越来越慢了,有时候一篇文章要好几秒才能加载出来,造成不少用户流失。” 什么意思?甩锅?老板的目光看向了我老大,我老大又看向了我,还没等我开口,嘚嘚瑟瑟的小实习生先说话了:“我们老师讲过,新网站出现这种情况是因为服务器没有配置好!不过我们也是第一次用云服务器,出问题也正常,下去我们就改。” 啥?云服务器可是我配置的,这锅甩到了我的头上?那可不行,这么多年的代码(bug)是白写的么,岁数大了腰不好,这锅我可背不动。咳咳,清了清嗓子,我开始发言了: “网站加载速度变慢主要还是由于我们用户量的快速上涨导致的,我们用的是华为云弹性云服务器,配置也非常容易,不会出现配置问题。早上我看了一下数据,现在日访问用户接近10万(研发多看看运营的数据还是有好处的),请求量远远超出预估,运营部门还是非常给力的。我们在初期没有预计到用户增长会这么快,为了节省成本,没有采购那么高配置的服务器。但是我们用的是华为云弹性云服务器,升级非常快,4行代码就可以搞定,我这边的方案是根据现在的业务需求以及接下来预估的用户增长速度,变更弹性云服务器规格。另外为了节省服务器成本,除了升级服务器之外,还会使用服务器的Gzip页面压缩功能,针对JS文件、CSS文件、HTML文件进行压缩,优化网站访问速度。 另外呢,加载速度慢还有一个原因是一个页面加载各种Scripts、CSS样式表、Flash以及图片时,都会请求一次http,请求次数越多,时间耗费得也越多,接下来我们把CSS和JS写到页面上,减少http的请求次数,减少外部各类文件的数量调用次数从而提升访问速度…” 发言结束,运营老大明显是没听懂,看到老板和老大向我投来赞许的目光,我就知道,这个月的优秀员工又稳了~再看小实习生,正一脸沉默地咬着笔,怕是得消化一阵子了...... 散会后,我立马开始整改,先做服务器变更,顺手也整理了一份操作文档《4行代码变更弹性云服务器规格》,分享到部门群里:点击了解内容详情 第一步:变更云服务器规格1、接口相关信息URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action2、请求示例(写入具体弹性云服务器规格){    "resize": {                  "flavorRef": "s3.large .2"    }} 第二步:确认云服务器规格变更前提条件:弹性云服务器状态(即云服务器的 “OS-EXT-STS:vm_state”属性)必须是 “resized”。1、接口相关信息URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action2、请求示例{   "confirmResize": null} 第三步:(可选)回退云服务器规格变更回退须知:弹性云服务器状态(即云服务器的“OS-EXT-STS:vm_state”属性)必须是“resized”。回退后,在变更规格过程中的数据修改将会丢失。1、接口相关信息URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action2、请求示例{    "revertResize": null} 变更弹性云服务器的时候,还有几点注意事项:关机状态的弹性云服务器才能执行变更云服务器规格操作。变更规格时,弹性云服务器的磁盘容量不能变小。变更弹性云服务器规格时,用户不能选择已售罄的CPU和内存资源。弹性云服务器规格(CPU或内存)变小,会影响弹性云服务器的性能。 据了解,目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。点击查看详情:《华为云一站式API解决方案平台API Explorer上线》华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【华为云API学习赛】为入门初学者量身定制的学习平台,以赛带学,学以致用。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机~API入门学习赛·AI人脸识别l   报名地址l   奖项设置API入门学习赛·探险寻宝之旅l   报名地址l   奖项设置
  • [热门活动] 【小编精选】论坛精华内容&活动推荐,持续刷新
     请收藏本帖,更多精彩活动和内容不定时更新!   热门有奖活动传送门  ↓↓↓名称简介【热门】2021华为区块链高校大赛活动时间:2021年4月25日~2021年6月14日期待全国高校开发者团队加入,助力区块链技术在各行各业下的创新和应用,共建可信数字基石!【进行中】华为云API入门学习赛·AI人脸识别活动时间:长期利用API工具实现AI零代码实现AI人脸识别,更有机会获取HUAWEI P40【进行中】华为云API入门学习赛·探险寻宝之旅活动时间:长期探险寻宝之旅,选手需要在完成探险算法题基础上,通过DevStar的微服务代码,实现在线编程、调试、运行算法。并可以将API注册到APIG,实现API代码托管【进行中】HDZ百佬汇第五期活动时间:长期HDZ隆重推出“百佬汇”专家访谈 系列栏目,意在走进专家们的生活,与专家们对话,了解他们的成长经历;同时,拉近普通开发者们与专家们的距离,创造交流机会。【进行中】云享MindTalks活动时间:持续(每周更新,请加入VIP群持续关注)云享MindTalks 由华为云DevCloud团队携手云享专家共同策划进行的系列轻量级知识分享类活动。 各业界大咖纷纷现身微信群聊,以即时对话形式,来进行最直接的技术交流和思想碰撞。 他们将多年的学习历程结合一线实战经验,将方法,将结果,将他们看到的风景展现出来,予以方向。 一周一个二十分钟,碎片化的时间学习高度压缩的知识内容,【进行中】APIMock邀测活动时间:2021.7.1-2021.9.1Mock服务旨在提供功能强大的接口 Mock 及接口管理服务。可以通过模拟接口的响应,解决开发或测试过程中依赖的服务不稳定等问题。【进行中】用友·华为云杯第三届企业云服务开发者大赛活动时间:2021.5-2021.9总奖金池高达1500000元!大赛立足企业实际业务需求,基于用友BIP、 用友低代码开发平台YonBuilder和华为云,推动面向企业服务领域的SaaS快速开发与创新成果转化。  限时免费超干货推荐  ↓↓↓名称简介[HOT!]超干货技术贴汇总本论坛点击10W+的精品技术汇总贴,涵盖敏捷,数据库,python开发,架构师成长等多领域。[HOT!]开发者犇腾大礼包华为云技术精选,免费开发者学习路线,开发者专属优惠等。《以人为本,敏捷为先》专访合集华为云·专家专访第三期:多位华为MVP和云享专家畅谈敏捷开发。API调研现状报告在工信部的指导下,华为云联合InfoQ开源中国等多家企业和社区   特别发起了「2020年API现状调研」,根据调查结果生成调研报告。华为云API精选期刊《华为云API精选手册》收录了30个API应用,覆盖企业应用、EI企业智能、基础服务等多个应用领域,点击手册中的链接或识别二维码即可快速调用相应API产品。华为云技术开放视频合集【技术大咖在线论道   百万+开发者精益成长】 汇聚多领域资深技术专家视频课程; 探讨国内外前沿技术领域发展趋势; 助力开发者专业技术能力精益成长;   分享可借鉴研发技术实践成功经验。API进阶之路【API进阶之路】20篇系列文章,看前浪如何凭借API一路打怪升级解决各种技术、业务难题。敏捷和DevOps干货大全将敏捷&DevOps文章的核心精华内容汇聚到卡片上,涵盖人和组织、工程方法、最佳实践等多方面内容。JAVA全栈开发成长计划JAVA开发基础课程内容,夯实基础, 快速入门WEB前端全栈成长计划 覆盖HTML/JavaScript/Node.js等华为云技术核心知识点,构建前端全栈技能体系!大学生毕业季.求职入职系列大厂专家带你学习面试技巧,工作软技能。包含JAVA面试技巧,产品经理10大经典面试题,大学生开学季.校园规划和技术分享课程优秀学长经验分享,HR职业规划分享,软件开发,AI,   IOT,5G,区块链和数据库技术直播分享,有趣生动易理解。JAVA已过气?中俄社区大咖对对碰JAVA是否已过气?JAVA的未来何去何从?   JAVA俄罗斯和中国的大咖带你走入开发者社区聊聊JAVA的未来。HCIP-DevOps职业认证训练营第二期学习HCIP-DevOps课程,助力考取HCIP-DevOps职业认证,为你求职提升添砖加瓦。  小编推荐的精彩录播传送  ↓↓↓1直播:B站开发者Up主现场使用华为云CloudIDE手撕代码2直播:低代码开发平台关键技术分享3直播:建站小白入门:如何1小时快速搭建品牌网站? 4直播:码道·码出未来-高效攻城狮的道法术器5直播:"知己知企,百面不败” 面试培训会——四川师范大学专场6直播:如何优雅解决校园小团队的代码协作问题 7DevCloud精品博文8直播:一节课了解JAVA全栈工程师9云享读书会:《程序员修炼之道》10华为云AppCube深度剖析112021年应用开发最新趋势12直播:对话《独角兽项目》 对话行业大咖。13直播:如何用低代码开发手机销售大屏应用?(直播)
  • 【API进阶之路】前浪的绝地反击与自我证明
    转载自华为云微信公众号原文链接:https://mp.weixin.qq.com/s/juz1ga_lqydSDrDTM0jQzg上周,被我司实习生摆了一道,在公司新项目上,实习生推荐的弹性云服务器取代了我的虚拟机方案(了解前情请戳:因为不会创建云服务器,我被实习生摆了一道),最终公司的新项目还是部署在了华为云弹性云服务器上。 难道作为前浪的我们就要这么被社会所抛弃了么?伸手缕了缕所剩不多的头发,心里暗暗地想:“伙计们,我要和你们一样坚强,不能被生活打败!” 事实证明,实习生虽然接受新鲜事物快,但在专业技术上还是略显稚嫩。 确定采用华为云弹性云服务器之后,项目也进入了开发环节,慢慢地我发现,小实习生对于如何查询服务器的各种状态并不是很熟练,经常听到他自己在那嘀嘀咕咕:云服务器上一次更新时间是怎么查来着?云服务器的磁盘要怎么配置来着?云服务器状态怎么查来着?...... 后浪们,姜还是老的辣呀,刚好这些问题在最近的学习中都了解过,于是我迅速写了一份文档:《3步搞定弹性云服务器查询》,写完之后发到了公司研发群里,领导给了我一个大大的赞,还专门@实习生“要多向前辈学习”。 《3步搞定弹性云服务器查询》内容如下:点击跳转至内容来源 步骤1:指定limit查询云服务器详情列表1、接口相关信息URI格式:GET /v2.1/{project_id}/servers/detail2、请求示例GET:https://{endpoint}/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100limit值可根据云服务器数据调整。3、响应示例{    "servers": [        ......        {            "tenant_id": "743b4c0428d945316666666666666666",            "metadata": {            },            "addresses": {                "140fd038-c4ae-4c32-ac07-34b525eb6b95": [                    {                        "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:e9:91:50",                        "addr": "192.168.0.178",                        "OS-EXT-IPS:type": "fixed",                        "version": 4                    }                ]            },            "OS-EXT-STS:task_state": null,            "OS-DCF:diskConfig": "MANUAL",            "OS-EXT-AZ:availability_zone": "xxx",            "links": [                {                    "rel": "self",                    "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/f215afe8-b0c2-41cc-9191-585638166812"                },                {                    "rel": "bookmark",                    "href": "https://ecs.xxx/743b4c0428d945316666666666666666/servers/f215afe8-b0c2-41cc-9191-585638166812"                }            ],            "OS-EXT-STS:power_state": 4,            "id": "f215afe8-b0c2-41cc-9191-585638166812",            "os-extended-volumes:volumes_attached": [                {                    "id": "546cf622-b9e5-4784-b659-6881e711f283"                }            ],            "OS-EXT-SRV-ATTR:host": "pod01.xxx",            "accessIPv4": "",            "image": {                "links": [                    {                        "rel": "bookmark",                        "href": "https://ecs.xxx/743b4c0428d945316666666666666666/images/5c13381a-4a54-4ea5-a3b5-e7f7069f19a4"                    }                ],                "id": "5c13381a-4a54-4ea5-a3b5-e7f7069f19a4"            },            "OS-SRV-USG:terminated_at": null,            "accessIPv6": "",            "created": "2019-08-09T02:35:04Z",            "hostId": "31397656d6b318d01431f60c481d8425dc58eb421d237a385ceb80ee",            "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova022@36",            "flavor": {                "links": [                    {                        "rel": "bookmark",                        "href": "https://ecs.xxx/743b4c0428d945316666666666666666/flavors/s3.large.4"                    }                ],                "id": "s3.large.4"            },            "key_name": null,            "security_groups": [                {                    "name": "sg-1e22"                }            ],            "config_drive": "",            "OS-EXT-STS:vm_state": "stopped",            "user_id": "a8c20feabb5245e0bae4ef27618f932b",            "OS-EXT-SRV-ATTR:instance_name": "instance-004bf55f",            "name": "ecs-f090",            "OS-SRV-USG:launched_at": "2019-08-09T02:35:23.000000",            "updated": "2019-08-13T03:12:39Z",            "status": "SHUTOFF"        }     ],    "servers_links": [        {            "rel": "next",            "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=f215afe8-b0c2-41cc-9191-585638166812"        }    ]}步骤2:指定limit与marker查询云服务器详情列表1、接口相关信息URI格式:GET /v2.1/{project_id}/servers/detail接口与步骤1 保持一致。2、请求示例GET:https://{endpoint}/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=f215afe8-b0c2-41cc-9191-585638166812接口返回了下一页的接口URI,参考返回body体中的 servers_links中的href字段,如果不存在该字段,表示已经不存在下一页。3、响应示例{    "servers": [        .....        {            "tenant_id": "743b4c0428d945316666666666666666",            "metadata": {            },            "addresses": {                "140fd038-c4ae-4c32-ac07-34b525eb6b95": [                    {                        "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:a5:2b:f8",                        "addr": "192.168.0.169",                        "OS-EXT-IPS:type": "fixed",                        "version": 4                    }                ]            },            "OS-EXT-STS:task_state": null,            "OS-DCF:diskConfig": "MANUAL",            "OS-EXT-AZ:availability_zone": "xxxc",            "links": [                {                    "rel": "self",                    "href": "https://xxx/v2.1/743b4c0428d945316666666666666666/servers/62348919-0188-43ec-aae6-82c1e96c49eb"                },                {                    "rel": "bookmark",                    "href": "https://ecs.xxx/743b4c0428d945316666666666666666/servers/62348919-0188-43ec-aae6-82c1e96c49eb"                }            ],            "OS-EXT-STS:power_state": 4,            "id": "62348919-0188-43ec-aae6-82c1e96c49eb",            "os-extended-volumes:volumes_attached": [                {                    "id": "f0bb068a-61c1-4dc8-8455-09857773c3ff"                }            ],            "OS-EXT-SRV-ATTR:host": "pod01.xxx",            "accessIPv4": "",            "image": {                "links": [                    {                        "rel": "bookmark",                        "href": "https://ecs.xxx/743b4c0428d945316666666666666666/images/3a64bd37-955e-40cd-ab9e-129db56bc05d"                    }                ],                "id": "3a64bd37-955e-40cd-ab9e-129db56bc05d"            },            "OS-SRV-USG:terminated_at": null,            "accessIPv6": "",            "created": "2019-07-27T03:06:48Z",            "hostId": "31397656d6b318d01431f60c481d8425dc58eb421d237a385ceb80ee",            "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova022@36",            "flavor": {                "links": [                    {                        "rel": "bookmark",                        "href": "https://ecs.xxx/743b4c0428d945316666666666666666/flavors/s3.medium.4"                    }                ],                "id": "s3.medium.4"            },            "key_name": null,            "security_groups": [                {                    "name": "sg-1e22"                }            ],            "config_drive": "",            "OS-EXT-STS:vm_state": "stopped",            "user_id": "f7e10ccf7abc4757b483895c3e06964a",            "OS-EXT-SRV-ATTR:instance_name": "instance-004a0eea",            "name": "test-dx",            "OS-SRV-USG:launched_at": "2019-07-27T03:07:05.000000",            "updated": "2019-08-13T03:12:38Z",            "status": "SHUTOFF"        }    ],    "servers_links": [        {            "rel": "next",            "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=62348919-0188-43ec-aae6-82c1e96c49eb"        }    ]}步骤3:汇总查询结果参考1持续调用,如果查询的云服务器列表为空,或者返回的body体中不存在servers_links 字段,表明所有云服务器查询完成。汇总所有查询到的云服务器即当前查询条件下的所有云服务器。 其实呀,我也是刚刚开始学习云服务器的相关知识,刚好在华为云的官网看到了一篇关于查询弹性云服务器的文档。技术原理都是相通的,做研发10年,积累的经验和技能是我们的优势,但想要不被后浪所取代,仍然要保持学习的步伐,而华为云官网上的很多文档,就是我们了解和学习最新技术应用方式的一个很好的渠道。 目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。点击查看详情:《华为云一站式API解决方案平台API Explorer上线》据悉,华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【华为云API学习赛】为入门初学者量身定制的学习平台,以赛带学,学以致用。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机~API入门学习赛·AI人脸识别l   报名地址l   奖项设置API入门学习赛·探险寻宝之旅l   报名地址l   奖项设置
  • 【VPN锦囊】WEB配置华为USG VPN指南
    作者 : 华为云VPN服务团队1.   组网拓扑云下华为USG为客户的出口防火墙,通过该设备配置VPN与华为云VPC连通,两端的子网信息和连接方式如下拓扑所示。                                              云下客户侧         网关:8.1.1.77         子网:192.168.77.0/24华为云侧         网关:9.1.1.9         子网:192.168.9.0/242. 协商策略两端建立VPN连接使用华为云缺省策略,策略详情见下图。3. USG配置3.1 IPSec基础配置登录防火墙管理页面,选择“网络-IPSec”进行新建IPSec连接,详情见下图所示。虚拟系统:选择默认即可策略名称:客户自行指定本端接口:配置对接本端公网IP的接口本端地址:本端公网IP对端地址:对端公网IP认证方式:预共享密钥本端ID与对端ID:IP地址,并填入对应的公网IP待加密数据流:源地址为云下子网,目标地址为云上子网,请勿使用地址组名称配置 安全提议:按照华为云策略配置,要求两端配置信息一致DPD:勾选DPD,选择按需发送,配置信息默认即可 3.2 路由配置点击“网络-路由-静态路由”,新建一条目的为华为云子网的静态路由,下一跳指向本地出接口网关IP。协议类型:IPv4源虚拟路由器:选择默认的public目的地址/掩码:云端子网地址目的虚拟路由器:选择默认的public出接口:本端公网IP配置的接口下一跳:本端公网地址下一跳其余配置默认即可,存在多出口时,须额外添加访问云端公网IP从此出接口流出的路由 3.3 NAT配置点击“策略-NAT策略-源NAT”,新建一条本地子网访问华为云不做NAT的策略。源安全区域:本端子网所在安全区域目的区域:华为云子网所在安全区域,一般为untrust转换前源地址:本端子网目的地址:华为云对端子网服务:any转换方式:不做NAT转换为确保该策略优先匹配,请将该策略置顶请注意接口地址出外网不做NAT。例如已配置缺省策略:源区域为any,访问目标区域any,出口转换为接口地址。请额外添加一条NAT策略:源区域为local,目标区域为any,转换方式为不做NAT转换,并将 该策略置于缺省策略之上。3.4 安全策略配置点击“策略-安全策略-安全策略”,新建一条本地子网访问华为云的放行策略。源安全区域:本端子网所在区域源安全区域:本端子网所在安全区域目的区域:华为云子网所在安全区域,一般为untrust转换前源地址:本端子网目的地址:华为云对端子网服务:any动作:允许为确保该策略优先匹配,请将该策略置顶4. 配置验证完成配置后,请选择“网络-IPSec-IPSec”在对应连接上选择诊断来发现连接协商。连接状态详细在“IPSec-监控”中查看,诊断示意截图如下数据面验证略。
  • [云动向] API商品发布信息填写说明
    云商店API商品发布信息填写请参考以下模板:(您可点击图片后点击右上角“新窗”或下载文末PDF附件,以便更清晰地查看填写说明)
  • 转载:【API进阶之路】因为不会创建云服务器,我被实习生摆了一道
    事情是这样的,公司成立了一个新项目,要给项目建官网,并搭建一个web服务器。按照我的习惯,搭建一个本地虚拟机就好了,部署简单方便还好配置,云服务器嘛,写了10年代码,还是不习惯那玩意儿。我这刚开始动手,就看见实习生屁颠屁颠地跑过来,我心想这小子肯定是想来学虚拟机搭建部署的,这么简单的事都不会,真是白瞎了他那985的学校了。可是...万万没想到啊,小实习生跑到我老大那里邀功去了!!!远远地听见他说:“公司新项目跑在云服务器上了,以后可以根据访问量随时进行弹性扩展,安全稳定还快。”啥?云服务器?这小子居然会配置云服务器?听完汇报,老大看向了我,带着小实习生往我这边走过来……“哼,叫你邀功,撞枪口上了吧,我就说云服务器配置没那么容易,还不是得来找我~”这么想着有点得意,老大走过来拍拍我的肩膀,说:“你跟他学一下怎么配置云服务器,别再用虚拟机了,以后都是麻烦事。”我...他...让我跟一个实习生学???实习生冲我微微一笑,就走了,没过一会扔给我一份文档,上面写着:“创建弹性云服务器流程详解”。打开粗略扫了一眼,代码都直接贴上来了?瞧不起谁?感觉有被冒犯到。技术人嘛,看到代码还是没忍住跑一遍,等我发现bug或跑不通,再给他上上课!结果……真香。内容是这样的:通过API创建云服务器的9个步骤(以指定镜像方式创建云服务器为例)(内容来源:https://support.huaweicloud.com/api-ecs/ecs_04_0001.html)步骤一:确定待创建云服务器所在的可用区。1、查询可用区。(1)接口相关信息URI格式:GET/v2.1/{project_id}/os-availability-zone(2)请求示例GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-availability-zone(3)响应示例{    "availabilityZoneInfo":[      {        "hosts":null,        "zoneState":{          "available":true        },        "zoneName":"zone_01"      },     {       "hosts":null,       "zoneState":{         "available":true       },       "zoneName":"zone_01"     }   ] } 2、根据实际需要选择可用区,并记录可用区的zoneName。步骤二:确定待创建云服务器的规格。1、查询云服务器规格信息。(1)接口相关信息URI格式:GET/v2.1/{project_id}/flavors/detail{?minDisk,minRam,is_public,sort_key,sort_dir}其中,“?”后的字段为查询规格时可选的查询检索参数。(2)请求示例GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/detail(3)响应示例 {    "flavors":[      {        "name":"c1.2xlarge",        "links":[          {            "href":"https://xxx/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge",            "rel":"self"          },         {           "href":"https://xxx/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge",           "rel":"bookmark"         }       ],       "ram":8192,       "OS-FLV-DISABLED:disabled":false,       "vcpus":8,       "swap":"",       "os-flavor-access:is_public":true,       "rxtx_factor":1,       "OS-FLV-EXT-DATA:ephemeral":0,       "disk":0,       "id":"c1.2xlarge"     } ] } 2、 根据实际需要选择规格,并记录规格的ID。步骤三:确定待创建云服务器使用的镜像。1、查询镜像。(1)接口相关信息URI格式:GET /v2.1/{project_id}/images/detail(2)请求示例GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/images/detail(3)响应示例 {    "images":[      {        "OS-EXT-IMG-SIZE:size":0,        "metadata":{          "__os_type":"Linux",          "hw_vif_multiqueue_enabled":"true",          "__imagetype":"gold",          "__quick_start":"true",         "virtual_env_type":"FusionCompute",         "__support_xen":"true",         "__support_kvm":"true",         "__image_source_type":"uds",         "__platform":"EulerOS",         "__os_version":"EulerOS 2.2 64bit",         "__os_bit":"64",         "__isregistered":"false"       },       "created":"2018-05-14T06:13:50Z",       "minRam":0,       "name":"DBS-MySQL-Image_2.1.3.3",       "progress":100,       "links":[         {           "rel":"self",           "href":"https://None/v2.1/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"         },         {           "rel":"bookmark",           "href":"https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"         },         {           "rel":"alternate",           "href":"https://None/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4",           "type":"application/vnd.openstack.image"         }       ],       "id":"11e8f727-d439-4ed1-b3b8-33f46c0379c4",       "updated":"2018-05-14T06:13:52Z",       "minDisk":40,       "status":"ACTIVE"     }   ] }2、根据需要选择镜像,并记录镜像ID。步骤四:确定云服务器的网络信息。1、查询网络。(1)接口相关信息URI格式:GET /v2.1/{project_id}/os-networks(2)请求示例GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-networks(3)     响应示例 {    "networks":[      {        "id":"07a9557d-4256-48ae-847c-415a9c8f7ff6",        "label":"b_tt3_td1b",        "broadcast":null,        "cidr":null,        "dns1":null,        "dns2":null,       "gateway":null,       "netmask":null,       "cidr_v6":null,       "gateway_v6":null,       "netmask_v6":null     }   ] }2、根据需要选择网络,并记录网络ID。步骤五:设置密钥对登录方式。如需设置为密码登录方式,请直接跳转至步骤七。1、创建密钥对。(1)接口相关信息URI格式:POST /v2.1/{project_id}/os-keypairs(2)请求示例POST:   Body: {      "keypair":{          "type":"ssh",          "name":"demo1",          "user_id":"fake"      }  }(3)响应示例 {    "keypair":{      "public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrR5Gcwlh5ih7JOvzIUuQxS5qzWWPMYHeDXkDKSQ9W5pumOV05SiO3WCswnaQ5xMdOl31mNiHtwlwq9dJi7X6jJBB2shTD+00G5WuwkBbFU4CLvt1B44u0NUiaTJ35NAvW2/4XvpXm9OwiQ3B5ge6ZY7Esi38Unh+pkbhPkYxNBCK8yoOlojQhWs75abdxZBi811/8RwLcNiFiocA2RGxtRjBdpEScj+1TU+OcfZdQnr0AFbO11z7yxfIygwwzVTgUuJNbMbKHStQqRbklfMlHY4RBPQgb7RN/YaXKTQSXT84k+D9xlDNo7Wj4fwOJTOz/s/PvbIOqjRHt9D6Y4IKd Generated-by-Nova\n",      "private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAq0eRnMJYeYoeyTr8yFLkMUuas1ljzGB3g15AykkPVuabpjld\nOUojt1grMJ2kOcTHTpd9ZjYh7cJcKvXSYu1+oyQQdrIUw/tNBuVrsJAWxVOAi77d\nQeOLtDVImkyd+TQL1tv+F76V5vTsIkNweYHumWOxLIt/FJ4fqZG4T5GMTQQivMqD\npaI0IVrO+Wm3cWQYvNdf/EcC3DYhYqHANkRsbUYwXaREnI/tU1PjnH2XUJ69ABWz\ntdc+8sXyMoMMM1U4FLiTWzGyh0rUKkW5JXzJR2OEQT0IG+0Tf2Glyk0El0/OJPg/\ncZQzaO1o+H8DiUzs/7Pz72yDqo0R7fQ+mOCCnQIDAQABAoIBAA6/c9dGmK2mae4z\nyQ5KrOFdvC1TNhej+sZx+CwyzEJUSvSuHcvQCXFBAz8FY92hhvPKcX66jINXZ+4/\nCmWAQ5YyhcRiow0Y91HvsS0bywoknX3q6kxBFodmyyCWFkgd5iMTADb1Lx0a27Y7\njlS4Dl5gyiGmxUN2Ng24wWEAjE8ZNuI0lrtr5IZKp+s5IAi/rb5AG/mL7EzicE8c\nmGP+QAa+nzwhAwNhFwVID230xen/ZcoL1d77hxeARNqJUxoR25gwJd6Ebg2y9pDW\nVu6cbbzgdGUCfQYlMEoAamAkCswOsDpVDBXwQnt2A537n6Wq2bgYIKusHr9thtxP\n/5ubQLUCgYEA4zYuBG2vtLHnvce26P8o2j1xcJS9K0ozkah9JFl3hqFN0sAqLlz7\n/Fm1jA4kzHJS3d0UqP3AMDxY3HkIqCn4Be7lqeAAe2AfqkOZpt9MDNv4VwKe9sPb\nViW1qjL3FxziLC/YWTRNSlpwRjqJJGhA+UQt8rOia1k/zXmrEs7bXLcCgYEAwPsu\nK3j5QoAiziYVMYf5iCzWwAM9Ljpf9gw23lefTdIzhhfFtJplVRSyxRGU0UZ84GMI\nTd5zmcIF/1KUfhqmeiQzz6NIPEYEReahjpQ/sOH/Gk5Rwr3QwYPrwAu5x+kk/SRi\nKPkqw7APTR0sMQBcUq+ZYwGYLGPMdd1zUdLfb0sCgYBkuz11iydtxb3G/obSD2WO\nM9VaIycmzRPFzNwGRH/gOR0mhTluKp0wyJjbSd34oeqpH/2r2ivddrOysxoqa8jg\n4IQDZyLvj7MaKjQxrieqP89+y9Or9TMFo1xB46x2G8EN8/xHuA9YGnZSPFtWv72m\nhRqV0hv82amWsA0vHnRUSwKBgDsKHXvrTMbNkNhkykMXCH5iyWiBFSyZa1ZJMlgf\nknsqfdzeVPwF6E55QKAN2uuTlwzG/3ljPxahR1hvmUJjQN9JSBiUKbtW6GPCRVbr\nf/jLi1Iu99COZdluVKeybqn8Z/aSNP24DR9FM8kxzZ1IMPaTBmhFypp6BclhcLBt\nxTG1AoGAfcrkVbV1SOy7fECUtMpUECcw0yU4GWj3sR2RbII63C500RVYQlUpUaRR\naANbASHTVR4myOKtGSxEUhAQHlxFDwsDL7W3gzAqTFbEDp1xAAUyT/nkOAhQjEm4\nORFdDETeXLQG1KMUj+8AdnhfYp3JTdft6rmPpZEBUFiCAUMAvb0=\n-----END RSA PRIVATE KEY-----\n",      "user_id":"f79791beca3c48159ac2553fff22e166",      "name":"demo1",      "fingerprint":"57:a7:a2:ed:5f:aa:e7:54:62:2e:bb:e7:92:22:cb:40"    }  }2、导入密钥。(1)接口相关信息URI格式:POST /v2.1/{project_id}/os-keypairs(2)请求示例POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-keypairs Body:  {      "keypair":{          "public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh3lxL8MM61gyfpKzeKkwkEpSFj27Rgh6zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n",          "type":"ssh",          "name":"demo2",          "user_id":"fake"      }  }(3)响应示例 {    "keypair":{      "public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh3lxL8MM61gyfpKzeKkwkEpSFj27Rgh6zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n",      "user_id":"f79791beca3c48159ac2553fff22e166",      "name":"demo2",      "fingerprint":"dd:44:45:49:d9:f6:4f:c0:24:2d:81:aa:c4:4b:83:c2"    }  }2、记录响应消息体中的name信息。如本例中为“demo2”。步骤六:创建密钥对登录鉴权的云服务器。(1)接口相关信息URI格式:POST /v2.1/{project_id}/servers说明: 本示例是指定image创建云服务器,因此:•block_device_mapping_v2.1中,“source_type”需设置为“image”,“uuid”设置为选择的镜像ID,“destination_type”设置为“volume”,“boot_index”设置为“0”。•“volume_size”应大于等于镜像元数据中指定的最小值。(2)请求示例POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers Body:  {      "server":{          "flavorRef":"c1.large",          "name":"zttestvm1",          "block_device_mapping_v2.1":[{              "source_type":"image",              "destination_type":"volume",              "volume_type":"SATA",              "volume_size":"40",             "delete_on_termination":"true",             "uuid":"11e8f727-d439-4ed1-b3b8-33f46c0379c4",             "boot_index":"0"         }],         "networks":[{             "uuid":"fb68519f-a7c0-476e-98d4-2e4cf6de6def"         }],         "key_name":"demo2",         "availability_zone":"az_test_01"     } }(3)响应示例 {    "server":{      "security_groups":[        {          "name":"default"        }      ],      "OS-DCF:diskConfig":"MANUAL",      "links":[       {         "rel":"self",         "href":"https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077"       },       {         "rel":"bookmark",         "href":"https://None/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077"       }     ],     "id":"6d311127-bce1-48db-bf0f-cac9f8f7f077",     "adminPass":"WcC4QoVZPXpV"   } }步骤七:设置密码登录方式。(1)使用非cloud-init镜像创建云服务器时,Windows和Linux系统都使用“adminPass”参数实现密码注入。(2)使用cloud-init镜像创建云服务器时:对于Linux系统,只能使用“user_data”进行密码注入,“user_data”字符串长度小于65535,且必须是base64加密的;对于Windows系统,只能通过元数据“admin_pass”进行密码注入。步骤八:创建密码方式登录鉴权的弹性云服务器。说明: 本示例是指定image创建弹性云服务器,因此:block_device_mapping_v2.1中,“source_type”需设置为“image”,“uuid”设置为选择的镜像ID,“destination_type”设置为“volume”,“boot_index”设置为“0”。volume_size”应大于等于镜像元数据中指定的最小值。1、创建非cloud-init镜像、密码方式登录鉴权的弹性云服务器。(1)接口相关信息URI格式:POST /v2.1/{project_id}/servers(2)请求示例POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers Body:  {      "server":{          "flavorRef":"c1.large",          "name":"zttestvm1",          "adminPass":"NOVAGLANCEI@123",          "block_device_mapping_v2.1":[{              "source_type":"image",              "destination_type":"volume",              "volume_type":"SATA",             "volume_size":"40",             "delete_on_termination":"true",             "uuid":"11e8f727-d439-4ed1-b3b8-33f46c0379c4",             "boot_index":"0"         }],         "networks":[{             "uuid":"fb68519f-a7c0-476e-98d4-2e4cf6de6def"         }],         "availability_zone":"az_test_01"     } }(3)响应示例 {    "server":{      "security_groups":[        {          "name":"default"        }      ],      "OS-DCF:diskConfig":"MANUAL",      "links":[       {         "rel":"self",         "href":"https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce"       },       {         "rel":"bookmark",         "href":"https://None/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce"       }     ],     "id":"73991cff-37c6-491a-9a8a-377397729fce",     "adminPass":"NOVAGLANCEI@123"   } }2、创建cloud-init镜像(以Linux为例)、密码方式登录鉴权的弹性云服务器。(1)接口相关信息URI格式:POST /v2.1/{project_id}/servers(2)请求示例POST:   Body:  {      "server":{          "flavorRef":"c1.large",          "name":"zttestvm2",  "user_data":"IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiRuaERlcUIkajBkelVMbkFrbWo4bWlFREFzT0VONkVPdGg1RmdqWnQybUVWZVRocC5OVDJXelZVdzFuNzhnL3dNdDE0dVpSQ1V3LzhHS3VGdEViQ0lPQS5vN1BZQzEnIHwgY2hwYXNzd2QgLWU7",          "block_device_mapping_v2.1":[{              "source_type":"image",              "destination_type":"volume",              "volume_type":"SATA",             "volume_size":"40",             "delete_on_termination":"true",             "uuid":"11e8f727-d439-4ed1-b3b8-33f46c0379c4",             "boot_index":"0"         }],         "networks":[{             "uuid":"fb68519f-a7c0-476e-98d4-2e4cf6de6def"         }],         "availability_zone":"az_test_01"     } }(3)响应示例 {    "server":{      "security_groups":[        {          "name":"default"        }      ],      "OS-DCF:diskConfig":"MANUAL",      "links":[       {         "rel":"self",         "href":"https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e"       },       {         "rel":"bookmark",         "href":"https://None/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e"       }     ],     "id":"7c11f362-cc96-4306-85b6-b432a639ca5e",     "admin_pass":"J3xMSivHCuq5"   } } 步骤九:确认云服务器创建成功。(1)接口相关信息URI格式:GET /v2.1/{project_id}/servers/{server_id}(2)请求示例GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6其中:0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6为创建的云服务器UUID。(3)响应示例 {    "server":{      "tenant_id":"74610f3a5ad941998e91f076297ecf27",      "addresses":{        "2a6f4aa6-d93e-45f5-a8cb-b030dbf8cd68":[          {            "OS-EXT-IPS-MAC:mac_addr":"fa:16:3e:88:01:1b",            "OS-EXT-IPS:type":"fixed",            "addr":"192.168.2.192",           "version":4         }       ]     },     "metadata":{},     "OS-EXT-STS:task_state":null,     "OS-DCF:diskConfig":"MANUAL",     "OS-EXT-AZ:availability_zone": "az_test_01",     "links":[       {         "rel":"self",         "href":"https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6"       },       {         "rel":"bookmark",         "href":"https://None/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6"       }     ],     "OS-EXT-STS:power_state":1,     "id":"0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6",     "os-extended-volumes:volumes_attached":[       {         "id":"b551445a-e749-4d53-932a-638a455cb6c3"       }     ],     "OS-EXT-SRV-ATTR:host":"pod1_test_01",     "image":{       "links":[         {           "rel":"bookmark",           "href":"https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"         }       ],       "id":"11e8f727-d439-4ed1-b3b8-33f46c0379c4"     },     "OS-SRV-USG:terminated_at":null,     "accessIPv4":"",     "accessIPv6":"",     "created":"2018-05-25T01:47:11Z",     "hostId":"b2792bef989888d2df1f51bff81de5ac58a4117f4e9ec3059c1a0410",     "OS-EXT-SRV-ATTR:hypervisor_hostname":"nova001@36",     "key_name":null,     "flavor":{       "links":[         {           "rel":"bookmark",           "href":"https://None/74610f3a5ad941998e91f076297ecf27/flavors/c1.large"         }       ],       "id":"c1.large"     },     "security_groups":[       {         "name":"default"       }     ],     "config_drive":"",     "OS-EXT-STS:vm_state":"active",     "OS-EXT-SRV-ATTR:instance_name":"instance-001883cd",     "user_id":"f79791beca3c48159ac2553fff22e166",     "name":"zttestvm1",     "progress":0,     "OS-SRV-USG:launched_at":"2018-05-25T01:47:55.755922",     "updated":"2018-05-25T01:47:55Z",     "status":"ACTIVE"   } }按照步骤指示,我很快完成了云服务器的搭建,不禁有些惊讶,这小子怎么懂这么多?等等...华为云API Explorer?打开华为云API Explorer的官网,我好像打开了新世界的大门,有很多已配置好的环境和接口,直接调用调试就可以了,以后怕是没有什么能够难住我了!目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。点击查看详情:《华为云一站式API解决方案平台API Explorer上线》据悉,华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。【拓展阅读】【API进阶之路】因为不会创建云服务器,我被实习生摆了一道【API进阶之路】前浪的绝地反击与自我证明【API进阶之路】甩锅大会上,我是如何绝地求生的【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!【API进阶之路】一个技术盲点,差点让整个项目翻车【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察【华为云API学习赛】为入门初学者量身定制的学习平台,以赛带学,学以致用。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机~API入门学习赛·AI人脸识别l   报名地址l   奖项设置API入门学习赛·探险寻宝之旅l   报名地址l   奖项设置
  • [问题求助] 在使用华为API注册设备时 时区的问题
    我如果在华为平台注册设备时,时区只有北京 ,如下:但是我在Api调用时设置timezone 只看到了如下另外这个时区有什么有呢 ?
  • [产品体验官] 体验官有奖体验第26期 | 华为云API Explorer体验及评测
    本期体验产品:  华为云API Explorer体验采用问卷调查的形式,(正式开始活动后详见附件)体验人数不限,体验官完成问卷即可。我们将于5月6日开启招募~~最后将会按照问卷内容,从中筛选出高质量体验报告,给予礼品奖励。中奖率超高哟~~☆奖品设置如下☆ 金牌测评体验报告奖:3名奖品:雷柏(Rapoo)  机械键盘                                                银牌测评体验报告奖:7名奖品:颈枕1个 体验评测报告优秀参与奖:15名奖品:3合1数据线1个API Explorer为开发者提供一站式API解决方案平台,集成华为云服务所有开放API,支持全量快速检索、可视化调试、帮助文档、交流咨询,现诚邀您来参与体验,更有机会获得精美礼品!产品链接:https://apiexplorer.developer.huaweicloud.com/apiexplorer/overview☆如何报名华为云产品体验官☆请先填写报名表单,报名成为华为云产品体验官。审核成功后,小助手会添加您的微信邀您进入华为云产品体验官群成为华为云产品体验官后续产品体验通知会在体验官群内发布~ 产品体验官可免费参与产品体验并获得相应奖励  扫描二维码,填写报名表
  • [热门活动] 使用Roma开发一个接口在LiveData阶段测试都没有问题,但是授权后在API网关却没有返回数据
    使用Roma开发一个接口在LiveData阶段测试都没有问题,但是授权后在API网关却没有返回数据以下是截图:
  • [问题求助] 新版的ioTDA的api不适合用在oceanConnect吗
    请问,新版的ioTDA物联网平台的api不适合用在oceanConnect吗?我用新的api查询设备消息,返回的结果说没有此设备物联网平台和oceanConnect是本来就分开的吗?
  • [融合视频] 快速获取研发人员技术支持的套路1/2/3【套路不多,绝对有用】
    作为一个技术服务人员,经常对外支撑;简洁、准确的信息;让支撑技术人员感知到提问者是高手、提问者是满满的求知诚意。  首先是版本好、版本号、版本号【比如:版本号XXX,越详细越好;避免“用最新版本、你们摸人给的版本、下载的版本”,这信息就没有含金量了】  其次是需求场景化描述,即你原来的目标是什么 【比如:用XX API/SDK实现VR直播场景;避免直接说XXX问题,被带入坑了】 提交问题或疑问,用证据【比如:API接口说明、日志、配置项、代码 ;避免“提交问题点,不说明上下文”,“只有主观感受,无客观(书面)证据”】 尽量让技术支持人员做选择题/判断题【比如:是否这样先XX再XXX,最后XXX 的使用 ? 接口返回值为以下3类XXXX 吗?做了如下尝试,哪种方式对性能损耗最多了 ?避免“如何搞定了?”“方案是什么了 ”“为什么性能不达标了”】   如此套路以后,技术支撑人员会快速对齐目标,快速利用经验来解决;另外,如果他真不会,有了以上信息,可高效转接第二人、第三人;也会快速了。;
  • [技术干货] FDI使用场景开发-API2Mppdp
    https://mp.weixin.qq.com/s?__biz=MzA5MjM5OTYzNA==&mid=2247483912&idx=1&sn=92bad07f28b09a17dcb2f10462b629d8&chksm=906cf375a71b7a6340f2de361aade758826c83d4716d23c337a0fcf6021738674a52feeeecca&token=109181865&lang=zh_CN#rd
  • [融合视频] android api28变更引发的问题
    背景XX Android App使用WebView+JavaScript的方式构建应用。最近项目工程升级了打包SDK版本至Api28,出现一个奇怪的问题:使用应用管理杀掉App后,再次启动App,进入Web页面后,按后退键,本来应该返回上一个Web页面,但是直接却退出了。初步分析,应该和Android SDK的Api28的变更有关系。参考Android开发者网站的Api28变更说明(https://developer.android.com/about/versions/pie/android-9.0-changes-28),但是没有找到确切的原因。经过多次测试发现:异常场景:安装App->启动App->杀掉App进程->启动App->进入Web页面->进入另一个Web页面->按后退键->App直接退出;正常场景:安装App->启动App->进入Web页面->进入另一个Web页面->按后退键->App后退至上一个Web页面。因此打算使用Android Studio进行单步调试1.         正常情况下,Activity收到的按钮事件能够正常传递到WebView事件处理方法中,异常情况下,Activity收到的按钮事件无法传递到WebView的时间处理方法中;2.         按钮事件从Activity到WebView需要经过SDK的处理逻辑,需要走读SDK源码,查看可能的原因;3.         SDK代码复杂,单步调试容易跟丢;4.         单步调试定位到的行号和SDK源码的行号有差别,无法对上,加大单步调试的难度。这时,想到有正常情况和异常情况作对比,是不是可以通过正常情况下方法调用栈信息,来指导异常情况的单步调试?第一步:在正常情况下,单步调试至WebView的按钮事件处理方法,此时方法调用栈信息如下图所示,其中按钮事件从CordovaViewActivity->SystemWebView。第二步:在异常情况下,从CordovaViewActivity类的dispatchKeyEvent方法,一步一步按照上面的方法调用栈的行号,到达对应行号后,进入方法。例如当单步调试到dispatchKeyEvent:557,AppCompatActivity时,按F8进入下一行558,这时dispatchKeyEvent:558,AppCompatActivity在上面的堆栈中有,此时按F7进入函数dispatchKeyEvent:xxx,CompatActivity中。第三步:按照第二步的方法,直到发现与调用栈不一致的执行顺序。在这里,我们发现程序从DecorView:529走到ViewGroup类dispatchKeyEvent方法1903行时,直接跳至1910行,因此可以初步判断程序在这里未按预期执行。第四步:通过查看ViewGroup类dispatchKeyEvent方法(代码行稍微有些偏移),结合内存变量mFocused的值为null,可知是mFocused的值为空导致异常。到这里,我们就发现了这个mFocused值是问题的关键。经过上网查看资料,这个mFocused的值指向当前焦点的View。结合Android Api28的一个变更:不会再轻触模式下隐式分配初始焦点,基本可以确定就是焦点的问题了。解决方法在SystemWebView中增加请求焦点的代码requestFoucus(),问题解决。博文引自:https://bbs.huaweicloud.com/blogs/152470问题请在本贴讨论。
  • [问题求助] php curl 请求北向api ,以“php + 文件名”的形式执行成功,但放到apache下执行不了
    首先能以“php + 文件名”的形式执行成功,说明代码没问题。因为在代码中设置了:不检测服务器的证书是否由正规浏览器认证过的授权CA颁发的,不检测服务器的域名与证书上的是否一致。所以接口是单向认证。官方文档只在用postman调测这一章中提到要关闭证书校验,使Postman不再校验服务端的证书。把代码放到apache下,用浏览器访问代码,接口服务端返回的是400 No required SSL certificate was sent。这个是我不解的地方。
  • [问题求助] 安卓开发连接华为云API接口
    最近在做能连上华为云的独立的安卓APP,先是使用pastman模拟请求,只有api 鉴权成功了,其他的都失败了,一点原因没找到,也设置了证书啊。另外有没有大佬能提供一下安卓的demo,或者是给一点思路呢?如果可以的话就谢谢啦!    
总条数:1405 到第
上滑加载中