检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
trigger_config 否 OBSTriggerConfig object OBS触发器配置,当trigger_type为OBS时需要设置 表4 OBSTriggerConfig 参数 是否必选 参数类型 描述 bucket 是 String OBS桶名(trigger_type为OBS时配置) 最小长度:1
在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
拉美-墨西哥城二”、“拉美-圣地亚哥”区域使用。具体运行时函数是否支持使用请以控制台为准。 前提条件 函数及其配置: 已创建函数,创建过程请参见创建函数。 请参见配置网络开启函数访问VPC内资源的网络配置,开启后需在RabbitMQ服务安全组配置对应子网的权限,参考RabbitMQ实例的前提条件配置。
构建程序 本案例提供了实现告警日志功能的程序包,使用空白模板创建函数,用户可以下载(index.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust”。
创建依赖包 创建一个redis-py的依赖包,建议使用redis-py 4.6.0(校验包:redis-4.6.0.zip.sha256)版本。 登录函数工作流控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。 单击“创建依赖包”,弹出“创建依赖包”对话框。
只能在serverless.yml的values属性中使用变量,而不能使用键属性。因此,您不能在自定义资源部分中使用变量生成动态逻辑ID。 从环境变量中引用变量 要引用环境变量中的变量,请在serverless.yml中使用${env:someProperty}语法,如下: service:
auth: IAM protocol: HTTPS timeout: 5000 在进行服务资源部署时,可能会涉及到交互式操作,相关的描述参考 deploy 命令 注意事项中的在部署时可能会涉及到交互式操作。 参数解析 表1 参数说明
DA实例创建。 创建函数 在服务控制台左侧导航栏,选择“计算 > 函数工作流”进入函数工作流控制台,单击“创建函数”。 选择“创建空白函数”,函数类型选择“事件函数”,输入您自定义的函数名称,此处以“iotdemo”为例,选择熟悉的运行时,案例这里使用Python 3.9 ,然后单击创建。
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
创建代码仓库失败,提示如图4所示。 图4 创建代码仓失败 排查方法:请检查您账户是否开通了CodeArts服务,具体请参考登录软件开发生产线(CodeArts)检查并开通服务。如果开通后问题仍存在,请联系华为云函数工作流服务工程师进一步帮助。 堆栈部署失败,提示如图5所示。 图5 堆栈部署失败 排查方法:
构建程序 本例提供了DIS数据流格式转换的源码和程序包(包含函数依赖),使用空白模板创建函数,用户可以下载、学习使用。 创建工程 本例使用Java语言实现DIS数据流格式转换功能,有关函数开发的过程请参考Java函数开发指南,本例不再介绍业务功能实现的代码。 下载样例源码(fss
获取用户委托的AccessKey(有效期24小时),使用该方法需要给函数配置委托。 当前函数工作流已停止维护Runtime SDK 中getAccessKey接口,您将无法使用getAccessKey获取临时AK。 getSecretKey() 获取用户委托的SecretKey(有效期24小时),使用该方法需要给函数配置委托。
登录软件开发生产线CodeArts控制台,进入CodeArts操作页面。 单击“立即使用”,跳转至“新建项目”页面。 单击“新建项目”,选择“项目模板 > Scrum”。 输入项目名称“function”,其他配置保持默认。 完成后单击“确定”。 父主题: 使用CodeArts托管函数代码
触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
cn-north-4 functionName: fgs-deploy-test services: component-test: # 服务名称 component: fgs # 组件名称 props: region: ${vars.region}
配置测试事件:选择“创建新的测试事件”。 事件模板:选择“数据接入服务(DIS)”。 事件名称:输入您自定义的事件名称,此处以“dis-test”为例。 图2 测试事件 单击“创建”,完成测试事件配置。 父主题: 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM? 函数调用过程中,运行时会解析和缓存传入的event事件, 这部分操作会消耗额外的内存。 函数调用结束后,回收的内存首先会放入内部内存池中,并不一定归还给操作系统,导致内存偏高,在高并发场景下这种现象会更加明显。 父主题:
xrole String 函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 app_xrole String 函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 description
单击“下一步”,进行后端配置,详细如图3所示。 后端服务类型:选择“FunctionGraph” 函数URN:添加创建的业务函数 版本或别名:选择“latest”版本 调用类型:选择“Synchronous” 图3 后端服务配置 单击下一步,完成API创建。 继续在当前页面,单
如何获取函数运行过程中的内存使用量信息? 函数调用的返回信息中会包含最大内存消耗等信息,请参考开发指南中的SDK接口。也可以在执行结果界面查看。 父主题: 调用函数