检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Python语言方案 前提条件 已拥有华为云账号且已实名认证。 华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。
构建程序 本案例提供了实现告警日志功能的程序包,使用空白模板创建函数,用户可以下载(index.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust
Deploy命令概览 Deploy命令 deploy 命令是对函数资源进行部署的命令,即将本地在 Yaml文件 中声明的资源部署到线上。 命令解析 参数解析 操作案例 注意事项 deploy function命令 参数解析 操作案例 deploy trigger命令 操作案例 父主题
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/
NodeJS语言方案 前提条件 已拥有华为云账号且已实名认证。 华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
准备 开通CTS云审计服务 在云审计服务中开通配置追踪器,如图1所示。开通案例参考追踪器配置。 图1 配置追踪器 创建委托 登录统一身份认证服务控制台,在左侧导航栏单击“委托”,进入“委托”界面。 单击“创建委托”,进入“创建委托”界面。 填写委托信息。 委托名称:输入您自定义的委托名称
图3 查看日志 图4 查看请求id详情 可以对程序进行修改,使数据可以用于调用其他系统或进行持久化存储,如存储到obs等。 父主题: 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
案例概述 场景介绍 通过CTS云审计服务,完成对公有云账户对各个云服务资源操作动作和结果的实时记录。 通过在函数工作流服务中创建CTS触发器获取订阅的资源操作信息,经由自定义函数对资源操作的信息进行分析和处理,产生告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理
项目迁移fun2s fun2s 命令是将函数的配置信息转换成 Serverless Devs 所识别的 s.yaml的命令。 命令解析 参数解析 操作案例 命令解析 当执行命令fun2s -h/fun2s --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写
测试事件 自动加载系统内置dis事件模板,本例不做修改。 单击“测试”,可以得到函数运行结果,函数会返回输入DIS数据。 父主题: 配置函数的触发器
步骤一:创建SFS Turbo文件系统 登录华为云弹性文件服务控制台,选择“SFS Turbo”,单击“创建文件系统”,进入“创建文件系统”界面。 在“创建文件系统”界面,参考表1填写参数,其他参数保持默认即可,如需使用其他参数请参考创建SFS Turbo文件系统。
账单上报周期 函数工作流会按天结算周期上报使用量到计费系统进行结算,具体扣费规则可以参考按需产品周期结算说明。
当可用额度、通用代金券和现金券的总额度低于预警阈值时,系统自动发送短信和邮件提醒。 当产生欠费后,请您及时充值使可用额度大于0。
图1 选择使用AI绘画Stable-Diffusion模板 如果系统弹出“服务开通”提示弹窗,请阅读说明后单击“立即开通”。
VPC Administrator (系统将同时勾选该系统角色依赖的Server Administrator系统角色,无需手动取消) VPC Administrator:虚拟私有云服务管理员。 Server Administrator:服务器管理员。 必选。
HTTP函数使用系统方法获取环境变量,比如Python函数使用os.Environ['xx']、NodeJS函数使用process.env.xx。
asyncio.set_event_loop(loop_tmp) loop = asyncio.get_event_loop() loop.run_until_complete(func(arg1, arg2)) loop.close() 因为asyncio.get_event_loop()是从OS
前提条件 给用户组授权之前,请您了解用户组可以添加的FunctionGraph权限,并结合实际需求进行选择,FunctionGraph支持的系统权限,请参见FunctionGraph系统策略。
函数中os.system("command &")命令的执行日志未采集,应如何处理? 不建议使用os.system("command &")后台运行命令,其产生的输出函数不进行采集。如果要得到后台运行命令的输出,建议使用subprocess.Popen的方式获取其输出。