Skip to content

Latest commit

 

History

History
83 lines (71 loc) · 2.35 KB

5.md

File metadata and controls

83 lines (71 loc) · 2.35 KB

先玩玩阿里云ECS

阿里云有很多功能,我们先拿ECS来玩玩
我们也不多玩,就获取启用地域下的所有ECS就完事了,其它功能以后再添加.
具体接口调用参数之类的,还是参考前面提到的阿里云文档.
实际上阿里云ECS有很多属性,但是我们只要我们关心的就完事了.

tag: 0.5.5

后端

涉及文件及目录

utils/aliyun/ecs.py
utils/aliyun/__init__.py
asset/ecs/models.py
asset/ecs/controllers/ecs.py
asset/ecs/apis/ecs.py
asset/ecs/urls/ecs.py
asset/ecs/urls/__init__.py
asset/urls.py
rurality/settings.py

代码

utils/aliyun/ecs.py、 utils/aliyun/init.py:
这里调用阿里获取ECS列表的接口,这个接口在文档中提到,一次最多可以获取100个.
因此我们想获取所有时,需要自己进行分页获取.


asset/ecs/models.py:
我一般只关心实例ID、CPU、内存、IP等信息,因此就按需求创建EcsModel.


asset/ecs/controllers/ecs.py
asset/ecs/apis/ecs.py
asset/ecs/urls/ecs.py
asset/ecs/urls/__init__.py
asset/urls.py

操作ECS的接口及方法,其中sync_ecses方法用来同步阿里云上的机器.
在同步时,我们先获取启用的地域列表,然后分别获取对应地域的机器.
获取机器的逻辑就是,先把当前库中所有机器的ID存下来,然后开始获取.
每一个机器都使用instance_id到库里查是否存在,如果存在就更新信息,并且记录机器ID.
如果不存在就放到待创建的列表中,最后统一创建.
因为有些机器以前已经存入数据库中了,但是机器后来删除了,我们需要把他们在数据库中也删除.


rurality/settings.py:
INSTALLED_APPS中增加asset.ecs


data/sql/rurality.sql:
最新的sql文件.

前端

涉及文件及目录

src/api/asset/ecs/url.js
src/api/asset/ecs/index.js
src/views/asset/ecs/index.vue
src/router/modules/asset.js
src/router/index.js

代码

src/api/asset/ecs/url.js
src/api/asset/ecs/index.js
src/views/asset/ecs/index.vue

根据之前region的页面复制替换而来.


src/router/modules/asset.js
src/router/index.js

增加对应的路由规则,这里新增加了资产管理菜单,以后阿里云的不同模块都放这里管理.