函数工作流 FunctionGraph
函数工作流 FunctionGraph
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
最佳实践
- FunctionGraph最佳实践汇总
-
数据处理类实践
- 使用FunctionGraph函数对OBS中的图片进行压缩
- 使用FunctionGraph函数为OBS中的图片打水印
- 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
- 使用FunctionGraph函数实现通过API方式上传文件
- 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
- 使用FunctionGraph函数对OBS中的文件进行加解密
- 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
- 使用FunctionGraph函数对LTS中的日志进行实时过滤
- 使用FunctionGraph函数流对OBS中的图片进行旋转
- 使用FunctionGraph函数流对图片进行压缩和打水印
- 功能应用类实践
- 函数构建类实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph为函数分配的磁盘空间有多少?
- 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 函数发起HTTP请求的源地址如何获取?
- FunctionGraph是否支持对上传的zip文件进行反编译?
- FunctionGraph的函数是否支持功能扩展?
- FunctionGraph中的代码是如何隔离的?
- 函数常规信息中的“应用”如何理解?
- 用户需要为函数的冷启动时间付费吗?
- 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗?
- Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题?
- FunctionGraph函数支持哪些编程语言?
- 创建函数
-
配置函数
- 能否在函数环境变量中存储敏感信息?
- FunctionGraph的函数如何读写上传的文件?
- 为函数挂载文件系统时,报“failed to mount exist system path”
- FunctionGraph如何实现域名解析?
- FunctionGraph如何通过域名访问专享版APIG中注册的接口?
- FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析?
- 使用定制运行时语言的函数能操作哪些目录?
- FunctionGraph的函数支持哪些中文字体?
- 能否在函数代码中使用线程和进程?
- 函数如何访问MySQL数据库?
- 函数无法通过VPC连接对应的Redis?
- 如何读取函数的请求头?
- Python语言的函数中,中文注释报乱码错误
-
调用函数
- FunctionGraph的函数执行需要多长时间?
- FunctionGraph的函数执行包含了哪些过程?
- FunctionGraph函数长时间不执行时,相关的实例会如何处理?
- 如何获取函数运行过程中的内存使用量信息?
- 为什么首次调用函数时速度会比较慢?
- 为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM?
- 函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小?
- 自定义镜像函数执行失败报“CrashLoopBackOff”
- 同步调用函数时,未收到调用响应的可能原因?
- 函数中os.system("command &")命令的执行日志未采集,应如何处理?
- 函数执行超时的可能原因有哪些?
- 使用APIG触发器调用一个返回String的FunctionGraph函数时,报500错误
- Python2.7在执行reload(sys)后无法通过print打印日志
- 运行函数时报错error while loading shared libraries时如何处理?
- 配置触发器
- 配置依赖包
-
产品咨询
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
使用FunctionGraph函数定时开关华为云ECS
应用场景
当您需要在特定时间打开或者关闭华为公有云虚拟机时,可以考虑通过函数服务调用华为云ECS接口,定时开关虚拟机。
- 开机节点:需要定时打开的虚拟机。
- 关机节点:需要定时关闭的虚拟机。
前提条件
- 根据实际业务,获取定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包。
- 创建委托EcsOperation,添加“ECS FullAccess”权限,请参考创建委托。
创建委托
- 登录统一身份认证服务控制台。
- 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“+创建委托”。
图1 创建委托
- 开始配置委托。
- 委托名称:输入您自定义的委托名称,此处以“EcsOperation”为例。
- 委托类型:选择“云服务”。
- 云服务:选择“函数工作流 FunctionGraph”。
- 持续时间:选择“永久”。
- 描述:填写描述信息。
- 单击“下一步”,进入委托选择页面,在右方搜索框中搜索“ECS FullAccess”权限并勾选。
图2 选择权限
- 单击“下一步”,根据实际业务需求选择资源授权范围,单击“确定”,完成权限委托设置。
构建程序
- 创建功能函数。
创建定时开启或者关闭华为公有云虚拟机的函数,上传定时开启华为公有云虚拟机的程序包或者定时关闭华为公有云虚拟机的程序包,并选择创建的委托EcsOperation。创建过程请参考创建函数。
运行时语言选择“Python3.6”,委托名称选择上一步创建的委托“EcsOperation”。
- 设置环境变量。
在“配置”页签配置环境变量,说明如表1所示。
表1 环境变量说明 环境变量
说明
region
ECS所在的区域,如cn-north-4
projectId
ECS所在的Project ID,获取方法请参见获取项目ID。
whiteLists
- 当定时开启华为公有云虚拟机时,填写需开启的虚拟机ID,以英文逗号分隔
- 当定时关闭华为公有云虚拟机时,填写需关机的虚拟机ID,以英文逗号分隔
type
仅需在定时关机时确认是否需要配置。
关机类型:
SOFT:普通关机(默认)
HARD:强制关机
环境变量的设置过程请参考使用环境变量。
说明:
- 本案例对函数执行的区域没有要求,若函数和待开关机节点在同一region,按照上述操作即可。若函数和待开关机节点不在同一region,如函数运行在北京一,想要开启或者关闭北京四的弹性云服务的虚拟机,只需要将projectId、region更改为北京四区域的信息,并在环境变量中添加ak、sk(获取AK/SK),再去掉配置的委托即可。
- AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。
- AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。
- SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
图3 配置环境变量
- 如果开启或者关闭的虚拟机数量过多,则需要增大超时时间。
- 表1中除whiteLists以外的环境变量必须添加,whiteLists根据实际情况选择添加或者不添加,whiteLists为需开机/关机的ecs服务器ID,以逗号分隔。
- {region}.{domain}组成ECS的终端节点Endpoint,如:cn-north-4.myhuaweicloud.com,具体Endpoint信息,请参考地区和终端节点。
- 选择依赖包。
在“代码”页签,添加“huaweicloudsdk_ecs_core_py3.6”依赖包。
添加依赖包详细操作请参见配置函数依赖。
说明:
如果您所在区域无法添加“huaweicloudsdk_ecs_core_py3.6”依赖包,请咨询客服。
父主题: 功能应用类实践