检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看详情。 容器镜像 输入镜像URL,即用于函数的容器镜像的位置。您可以单击“查看镜像”,查看自有镜像及共享镜像。同时,也支持单击“选择镜像”功能,用户可在镜像列表中选择公开或私有镜像,选择成功后会自动填充镜像URL。如何制作镜像,请参见制作镜像。 swr中的镜像名,例如swr.region_id
使用容器镜像创建并执行HTTP函数 本章节将以使用容器镜像方式创建HTTP类型函数为例,介绍容器镜像函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。
使用相同名称的镜像更新镜像时,预留实例无法自动更新,会一直使用老镜像 建议使用非latest的镜像tag管理镜像更新,避免使用完全相同的镜像名。 父主题: 创建函数
登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击右上方的“创建函数”,进入“创建函数”页面。 创建方式选择“容器镜像”,具体创建详情请参见使用容器镜像创建函数。 容器镜像函数创建完成后,在函数代码配置页面,选择“设置->常规设置”,单击“启用GPU”,配置GPU参数。 表1 GPU参数说明
} 或者使用docker logs命令获取容器的日志 步骤三:上传镜像 登录容器镜像服务控制台,在左侧导航栏选择“我的镜像”。 单击右上角的“客户端上传”或“页面上传”。 根据指示上传镜像。 上传成功后,在“我的镜像”界面可查看。 步骤四:创建函数 在服务控制台左侧导航栏,选择“计算
函数类型 事件函数 HTTP函数
FunctionGraph支持两种函数类型,事件函数和HTTP函数。HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1
请参见使用容器镜像部署函数章节进行容器镜像自验证。 排查镜像是否为x86 linux架构,目前仅支持x86 linux架构镜像。 父主题: 调用函数
Online触发函数并进行执行。在函数创建界面可以选择函数类型,事件类型的函数不受触发器类型的限制,当前FunctionGraph支持的所有类型触发器均可用于触发事件函数。 FunctionGraph原生支持事件类型函数,在函数创建界面默认选择该类型; 测试函数时在参数配置界面输入用户指定的事件JSON即可完成函数触发;
表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目 ID,获取方式请参见获取项目ID。 depend_id 是 String 依赖包的ID。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
参数 是否必选 参数类型 描述 enabled 否 Boolean 是否启用 image 否 String 镜像地址 command 否 String 启动容器镜像的命令 args 否 String 启动容器镜像的命令行参数 working_dir 否 String 镜像容器工作目录
请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 消息体的类型(格式) 表3 请求Body参数
CustomImage 参数 参数类型 描述 enabled Boolean 是否启用 image String 镜像地址 command String 启动容器镜像的命令 args String 启动容器镜像的命令行参数 working_dir String 镜像容器工作目录 uid String
如$.a.b[0].c 常量值可以为数字类型,字符串类型(需要用单引号括起来),布尔类型 常量路径为常量的JsonPath路径,但是根节点需要用$CONST表示,示例:$CONST.a.b 表9 OnError 参数 是否必选 参数类型 描述 error 否 String 错误匹配表达式,用来过滤需要处理的异常
进入“委托”页面后,右上角单击“创建委托”。 在“创建委托”页面,配置如下参数: 委托名称:填写“severless_trust”。 委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述(可选):填写“AI绘画应用”。
able-Diffusion-WebUI以及镜像构建工程等项目均为社区开源项目,关于开源项目的问题还需用户到开源社区寻求帮助或者自行解决,华为云仅提供算力支持。 本实践仅作为简易示例供用户参考和学习,如需应用于实际生产环境,请参考镜像构建工程自行完善和优化。使用过程中遇到的函数工作流问题,可通过提交工单进行咨询。
本应用使用到的Stable-Diffusion、ComfyUI以及镜像构建工程等项目均为社区开源项目,关于开源项目的问题还需用户到开源社区寻求帮助或者自行解决,华为云仅提供算力支持。 本实践仅作为简易示例供用户参考和学习,如需应用于实际生产环境,请参考镜像构建工程自行完善和优化。使用过程中遇到的函数工作流问题,可通过提交工单进行咨询。
Response返回。对于返回参数对象类型,HTTP Response该类型的JSON字符串。 函数名:用户定义函数名称。 用户定义参数,当前函数只支持一个用户参数。对于复杂参数,建议定义为对象类型,以JSON字符串提供数据。FunctionGraph调用函数时,解析JSON为对象。 Contex
在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。 启动Docker容器并进入code目录(原生Linux系统忽略)。
loading shared libraries 针对该问题有以下两种处理方案: 代码逻辑较为复杂的情况下建议使用自定义镜像函数,创建自定义镜像函数详情请参见使用容器镜像创建函数。 制作依赖包时,把动态链接库一同复制到依赖包最外层。 如图2是chrome内核所需的动态链接库。 图2 chrome内核动态链接库