检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在函数中引入动态链接库 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录,可以在配置页面设置LD_LIBRA
启用禁用函数 函数是实现某一功能所需代码、运行时、资源、设置的组合,是可以独立运行的最小单元。函数通过Trigger触发,自行调度所需资源及环境,实现预期功能。 约束与限制 只能禁用“latest”版本的函数,不能禁用已经发布的版本的函数。 基于已禁用的“latest”版本重新发
SDK到本地开发环境解压,如图2所示。 图2 下载SDK解压 配置依赖 在工程目录下创建lib目录,将zip中的Runtime2.0.5.jar和代码所需要的三方依赖包拷贝到该目录,并把该jar添加为工程依赖。如图3所示: 图3 配置依赖 创建本地函数 创建包com.huawei.dem
开发工具 CodeArts IDE Online VSCode本地调试 Eclipse-plugin PyCharm-Plugin Serverless Devs Serverless Framework
当函数被禁用/启用后,该函数下所有版本的函数都会被禁用/启用。 导入函数: 上传代码时,如果代码中包含敏感信息(如账户密码等),请您自行加密,以防止信息泄露。 上传的文件大小限制为10M。 上传文件是包含函数代码(zip)和函数配置文件(yml)的zip包。 导出函数 FunctionGraph支持将已创建的函数导出。
优化服务,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该创新方案带来的冷启动性能提升。 当用户 Java 函数打开冷启动加速的配置开关后,华为云 FunctionGraph 会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续
Framework将serverless.yml中的所有语法转换为华为云部署管理的配置模板。 提供商插件解析serverless.yml配置并转换为华为云资源。 然后将函数的代码打包到目录中,压缩并上传到部署桶中。 资源部署完成。 建议在CI/CD系统中使用此方法,因为它是最安全的部署方法。 有关所有详细信息和选项,请查看deploy命令文档。
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。 将skywalking agent直接嵌入到扩展代码中,即可通过扩展完成对函数请求的监控。 示例代码:skywalking-go.zip func startSkywalkingAgent() { r, err
构建函数程序 编辑函数程序 打开创建的函数iotdemo,复制以下坐标转换代码,仅供测试不建议用于生产用途,用户也可以根据自己的需要修改。 # -*- coding:utf-8 -*- import json import math from math import pi def
日志告警 配置函数代码执行返回结果 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "statusCode":
一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南。 用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理。 父主题: 产品咨询
配置函数的心跳检测 概述 心跳函数用于检测用户函数运行时的异常,例如以下场景: 用户函数死锁,无法正常运行。 用户函数内存溢出,无法正常运行。 用户函数网络异常,无法正常运行。 在配置了自定义心跳函数后,当用户函数运行时,FunctionGraph每隔5s向函数实例发送一次心跳请
objects 表5 ServiceBridgeVersion 参数 参数类型 描述 name String 代码包名 version String 代码版本 code_url String 代码所在obs路径 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 404 Bad Request
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 请求错误。 401 Unauthorized
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 204 No Content 400 Bad Request 请求错误。
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 请求错误。 401 Unauthorized
else { fmt.Println(err) } } 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 OK 400 Bad Request 请求错误。 401 Unauthorized
SDK加入了触发器事件结构体定义,目前支持CTS、DMS、DIS、SMN、LTS、TIMER、APIG、Kafka、。在需要使用触发器的场景时,编写相关代码更简单。 APIG触发器相关方法说明 APIGTriggerEvent相关方法说明 表1 APIGTriggerEvent相关方法说明 方法名