检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数提供预留实例功能,预留实例在创建成功后会执行函数的初始化,并且常驻在执行环境中,彻底消除冷启动对业务的影响。 预留实例根据代码的调用次数、实例存活时长计费。时长计量粒度为60秒。 动态资源指定 函数执行时可根据业务需要动态指定资源规格,最小化资源占用,灵活调度节省成本。
EXPOSE:暴露容器的8000端口,请勿修改。 ENTRYPOINT:使用node main.js命令启动容器,请勿修改。 构建镜像 指定镜像的名称为custom_container_http_example,版本为latest,“.”指定Dockerfile所在目录,镜像构建命令将该路径下所有的内容打包给容器引擎帮助构建镜像。
Function”命令,按照提示依次选择或输入“运行时”、“模板”、“函数名称”、“本地文件夹”。 本地函数创建成功后,会自动打开入口文件。 自动生成配置文件,可以通过修改文件配置函数信息,参数如下: HcCrmTemplateVersion: v2 Resources: Type:
8000(此端口请勿修改), 可以使用application.properties文件来配置,也可以在启动时指定端口号。 图2 配置8000端口 在jar包同目录创建bootstrap文件,输入启动参数。 /opt/function/runtime/java11/rtsp/jre/bin/java
器均可用于触发事件函数。 FunctionGraph原生支持事件类型函数,在函数创建界面默认选择该类型; 测试函数时在参数配置界面输入用户指定的事件JSON即可完成函数触发; 用户也可以通过FunctionGraph支持的触发器进行事件函数触发; 优势 单机编程体验,简单易用 事
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
registerServer() } # bootstrap /opt/function/code/go-http-demo 在main.go中,使用8000端口启动了一个HTTP服务器,并注册了path为“/hello”的API,调用该API将返回"nice to meet you"。 编译打包 在linux机器下,将上述代码编译
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
为Nodejs 8.10安装MySQL依赖包,可以执行如下命令。 npm install mysql --save 可以看到当前目录下会生成一个node_modules文件夹。 Linux系统 Linux系统下可以使用以下命令生成zip包。 zip -rq mysql-node8.10.zip
据流触发函数的过程请参考使用DIS触发器。 定时触发器TIMER 可以使用TIMER的计划事件功能定期调用您的代码,可以指定固定频率(分钟、小时、天数)或指定 cron 表达式定期调用函数(TIMER示例事件)。定时触发器的使用请参考使用定时触发器。 日志触发器LTS 可以编写F
当通过API访问公有云系统时,需要使用访问密钥(AK/SK)进行身份认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。 删除的访问密钥将无法恢复。
华为云函数工作流(FunctionGraph)组件是一个用于支持华为云函数应用生命周期的工具,基于Serverless Devs进行开发,通过配置资源配置文件s.yaml,您可以简单快速地部署应用到华为云函数工作流平台。 前提条件 本地已安装nodejs。 快速开始 安装Serverless Devs
ENTRYPOINT:使用node /home/tester/main.js命令启动容器。 构建镜像 指定镜像的名称为custom_container_event_example,版本为latest,“.”指定Dockerfile所在目录,镜像构建命令将该路径下所有的内容打包给容器引擎帮助构建镜像。
分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层
initializer,如图12所示。 图12 函数初始化入口配置 开启预留实例或者快照式冷启动。 通过预留实例,或者快照式冷启动功能,可以加速函数启动时间,减少请求时延。预留实例使用可参考预留实例管理,快照式冷启动使用可参考配置快照式冷启动。 通过独立函数方式改造微服务。 直接函数化改造,是将微服务业务代
为什么首次调用函数时速度会比较慢? 因为函数是冷启动的,所以如果有初始化或者函数中有第一次执行比较耗时的操作(例如加载函数代码及依赖包),第一次请求会比较慢,后面接着的请求就会很快,因为此时容器还没有销毁。如果间隔一分钟没有请求,容器就会销毁。 如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言
构建项目。 npm run build 图3 构建项目 构建完成后目录内容如下: 图4 项目构建成功后目录内容 创建启动脚本。 创建名为“bootstrap”的启动脚本,并修改bootstrap文件内容如下: export PATH=/opt/function/runtime/nodejs18
使用定制运行时语言的函数能操作哪些目录? FunctionGraph的函数支持哪些中文字体? 能否在函数代码中使用线程和进程? 函数如何访问MySQL数据库? 函数无法通过VPC连接对应的Redis? 如何读取函数的请求头? Python语言的函数中,中文注释报乱码错误
函数执行超时的可能原因有哪些? 自身代码执行逻辑超时,建议优化代码或增加超时时间。 网络请求超时,建议增加超时时间。 函数进行冷启动时,Java加载类时间过长,建议增加超时时间或增加内存。 父主题: 调用函数
函数初始化是指调用函数时对其进行初始化设置的过程,包括设置函数的初始状态、分配资源或为函数内部的变量赋予初始值等。 FunctionGraph是在函数实例启动成功后执行函数的初始化,初始化执行成功后,函数实例才能开始处理函数的调用请求。 FunctionGraph保证一个函数实例在生命周期内只成