建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

千千着素手

发帖: 4粉丝: 0

发消息 + 关注

发表于2020年05月30日 10:21:05 2325 3
直达本楼层的链接
楼主
显示全部楼层
【API进阶之路】前浪的绝地反击与自我证明

转载自华为云微信公众号

原文链接:https://mp.weixin.qq.com/s/juz1ga_lqydSDrDTM0jQzg

上周,被我司实习生摆了一道,在公司新项目上,实习生推荐的弹性云服务器取代了我的虚拟机方案(了解前情请戳:因为不会创建云服务器,我被实习生摆了一道),最终公司的新项目还是部署在了华为云弹性云服务器上。

 难道作为前浪的我们就要这么被社会所抛弃了么?伸手缕了缕所剩不多的头发,心里暗暗地想:“伙计们,我要和你们一样坚强,不能被生活打败!” 事实证明,实习生虽然接受新鲜事物快,但在专业技术上还是略显稚嫩。 确定采用华为云弹性云服务器之后,项目也进入了开发环节,慢慢地我发现,小实习生对于如何查询服务器的各种状态并不是很熟练,经常听到他自己在那嘀嘀咕咕:

  • 云服务器上一次更新时间是怎么查来着?

  • 云服务器的磁盘要怎么配置来着?

  • 云服务器状态怎么查来着?

  • ......

 后浪们,姜还是老的辣呀,刚好这些问题在最近的学习中都了解过,于是我迅速写了一份文档:《3步搞定弹性云服务器查询》,写完之后发到了公司研发群里,领导给了我一个大大的赞,还专门@实习生“要多向前辈学习”。 《3步搞定弹性云服务器查询》内容如下:点击跳转至内容来源 

步骤1:指定limit查询云服务器详情列表

1、接口相关信息URI格式:GET /v2.1/{project_id}/servers/detail

2、请求示例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接口,连接更多开发者实现创新、拓宽创新边界。

【拓展阅读】

  1. 【API进阶之路】因为不会创建云服务器,我被实习生摆了一道

  2. 【API进阶之路】前浪的绝地反击与自我证明

  3. 【API进阶之路】甩锅大会上,我是如何绝地求生的

  4. 【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”

  5. 【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!

  6. 【API进阶之路】一个技术盲点,差点让整个项目翻车

  7. 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

  8. 【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!

  9. 【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

  10. 【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的

  11. 【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研

  12. 【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察


【华为云API学习赛】为入门初学者量身定制的学习平台,以赛带学,学以致用。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机~

API入门学习赛·AI人脸识别

l   报名地址

l   奖项设置

API入门学习赛·探险寻宝之旅

l   报名地址

l   奖项设置


举报
分享

分享文章到朋友圈

分享文章到微博

Cynthia成

发帖: 48粉丝: 19

发消息 + 关注

发表于2020年08月21日 10:43:53
直达本楼层的链接
来自 3#
显示全部楼层

【华为云API学习赛】为入门初学者量身定制的学习平台,以赛带学,学以致用。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机~

API入门学习赛·AI人脸识别

l   报名地址

l   奖项设置

API入门学习赛·探险寻宝之旅

l   报名地址

l   奖项设置


点赞 评论 引用 举报

ecstatic

发帖: 19粉丝: 13

发消息 + 关注

发表于2020年05月30日 22:19:58
直达本楼层的链接
沙发
显示全部楼层

这个看过啊

点赞 评论 引用 举报

白先生

发帖: 0粉丝: 4

发消息 + 关注

发表于2020年12月01日 08:52:36
直达本楼层的链接
地板
显示全部楼层

感谢分享!

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册