利用函数工作流定时开关华为公有云虚拟机
引导式阅读
Java
利用函数工作流定时开关华为公有云虚拟机
作者
C***
上架时间
2021-06-28 12:26:10

案例概述

当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ECS接口,定时开关虚拟机。

准备

构建程序

1.创建功能函数

创建定时开启或者关闭华为公有云虚拟机的函数,上传定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包,如图1所示。创建过程请参考创建函数

图1 创建定时关闭华为公有云虚拟机的函数

2.设置环境变量。

在“配置”页签配置环境变量,说明如表1所示。

表1 环境变量说明

环境变量 说明
region ECS所在的Project ID
domain {region}.{domain}组成ECS的终端节点Endpoint,如:xxxx.myhuaweicloud.com,具体Endpoint信息,请参考地区和终端节点
projectId ECS所在的Project ID
ak 输入AK
sk 输入SK
whiteLists 当定时开启华为公有云虚拟机时,填写无需开启的虚拟机名称,以逗号分隔;当定时关闭华为公有云虚拟机时,填写无需关机的虚拟机名称,以逗号分隔

环境变量的设置过程请参考使用环境变量,如图2所示。

图2 设置环境变量

说明:

  • 本案例对函数执行的区域没有要求,如函数运行在北京一,想要开启或者关闭北京四的弹性云服务的虚拟机,只需要将projectId、region和domain更改为北京四区域的信息即可。
  • 如果开启或者关闭的虚拟机数量过多,则需要增大超时时间。
  • 表1中除domain和whiteLists以外的环境变量必须添加,domain和whiteLists根据实际情况选择添加或者不添加。不添加domain环境变量时,程序包中domain使用默认值:myhuaweicloud.com。

3.选择依赖包。

在“代码”页签,添加“openstacksdk-1.0.6”依赖包,如图3所示。

图3 添加依赖包

添加依赖包详细操作可参考配置函数依赖

添加事件源

创建TIMER触发器,TIMER触发器配置如图4所示。

图4 创建TIMER触发器

参考

更多信息请参考函数工作流