检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
receive {"message":"HelloWorld"} 或者使用docker logs命令获取容器的日志 步骤三:上传镜像 登录容器镜像服务控制台,在左侧导航栏选择“我的镜像”。
步骤二:本地验证 启动docker容器 docker run -u 1003:1003 -p 8000:8000 custom_container_event_example:latest 打开一个新的命令行窗口,向开放的8000端口发送消息,访问模板代码中指定的/init路径 curl
选择“镜像版本”页签,在镜像版本列表中复制下载指令,指令中去掉“docker pull”,即为镜像URL。 父主题: 创建函数
在Windows系统中重新安装,操作步骤如下: 退出Docker容器(原生Linux系统忽略)。
关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。 启动Docker容器并进入code目录(原生Linux系统忽略)。
创建方式选择“容器镜像”,具体创建详情请参见使用容器镜像创建函数。 容器镜像函数创建完成后,在函数代码配置页面,选择“设置->常规设置”,单击“启用GPU”,配置GPU参数。 表1 GPU参数说明 参数名称 说明 GPU卡型 当前仅支持NVIDIA-T4。
当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数。
access_password String RABBITMQ账户密码(RABBITMQ触发器参数)。 access_user String RABBITMQ账户名(RABBITMQ触发器参数)。
图1 查看执行结果 请参见使用容器镜像部署函数章节进行容器镜像自验证。 排查镜像是否为x86 linux架构,目前仅支持x86 linux架构镜像。 父主题: 调用函数
使用TIMER定时触发器 本节介绍创建定时触发器,按照设置的频率,定期触发函数运行,供用户了解定时触发器的使用方法。 本节介绍如何使用函数工作流控制台创建定时触发器,按照设置的频率,定期触发函数运行。 关于定时触发器事件源的具体介绍,请参见支持的事件源。 前提条件 已创建函数,创建过程请参见创建函数
RUNTIME_CODE_ROOT 代码在容器中的存放目录,系统默认路径为/opt/function/code 通过系统环境变量获取。 RUNTIME_LOG_DIR 系统日志在容器中存放的目录,系统默认路径为/home/snuser/log。 通过系统环境变量获取。
因为函数是冷启动的,所以如果有初始化或者函数中有第一次执行比较耗时的操作(例如加载函数代码及依赖包),第一次请求会比较慢,后面接着的请求就会很快,因为此时容器还没有销毁。如果间隔一分钟没有请求,容器就会销毁。 如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言慢。
创建函数 FunctionGraph支持的编程语言说明 创建空白函数 使用函数模板创建函数 使用容器镜像创建函数 使用Terraform创建函数 创建GPU函数
working_dir String 镜像容器工作目录 uid String 镜像容器的用户id gid String 镜像容器的用户组id 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String
FunctionGraph的容器镜像函数解析DNS内网域名 当前FunctionGraph容器镜像函数无法直接解析华为云解析服务(DNS)的内网域名,当需要在函数中解析DNS域名,可参考本章节操作,通过调用DNS服务的接口,实现解析功能。 已获取内网域名和域名ID。
表1 策略及相关说明 策略 策略权限说明 是否必选 SWR Admin 容器镜像服务(SWR)管理员,拥有该服务下的所有权限。 必选。
表4 常见授权项选择 场景 策略名称 策略说明 细粒度最小使用权限 使用自定义镜像 SWR Admin 容器镜像服务(SWR)管理员,拥有该服务下的所有权限。 创建自定义镜像请参见使用容器镜像创建函数。
这里有来自容器服务的技术牛人,为您解决技术难题。
即使在用户有持续的请求且不更新函数的情况下,系统仍然有可能将已有容器回收或更新,这时没有平台方的冷启动,但是会有业务方冷启动,Initializer可以最大限度减少这种情况。
图1 error while loading shared libraries 针对该问题有以下两种处理方案: 代码逻辑较为复杂的情况下建议使用自定义镜像函数,创建自定义镜像函数详情请参见使用容器镜像创建函数。 制作依赖包时,把动态链接库一同复制到依赖包最外层。