详情页标题前

腾讯云云函数(SCF)WebServer 镜像函数-云淘科技

详情页1

云函数 SCF 支持开发者将容器镜像部署为函数。当前支持两种类型的镜像函数:WebServer 镜像函数:镜像中需包含 Http Server 并监听 9000 端口。实例拉起后,事件体以 Http 请求的形式传入实例。Job 镜像函数镜像中无需包含 Http Server,不暴露任何端口。实例拉起后,将根据用户指定的 CMDEntryPoint 执行特定命令(简单的如 date 命令,也可指定运行特定代码逻辑),执行完毕后自动释放实例。事件体以环境变量的形式注入实例。本文介绍 WebServer 镜像函数的背景信息、工作原理、函数开发、函数日志打印、冷启动优化、计费说明及使用限制。

背景信息

云函数 SCF 从设计之初即是基于云原生架构的 FaaS 产品。在 Runtime 层支持容器镜像部署为函数后,产品形态整体向容器化生态迈进。一方面,解决函数运行时的环境依赖问题,给予用户更大的自由发挥空间。另一方面,产品形态层面的呈现使得用户无需受困于 Kubernetes 集群管理、安全维护、故障诊断等技术门槛,将弹性伸缩、可用性等需求下沉至计算平台,进一步释放云计算能力。

工作原理

您在开发函数具体的逻辑之前,首先需要确认函数类型,云函数提供事件函数和 Web 函数两种类型。云函数在函数实例初始化阶段,获得镜像仓库的临时用户名和密码作为访问凭证来拉取镜像。镜像拉取成功后,根据指定您所定义的启动命令 Command、参数 Args 及端口(固定为9000)启动您定义的 HTTP Server。最后,HTTP Server 将接收云函数的所有入口请求,包括来自您的事件函数调用及 Web 函数调用。函数工作原理如下图所示:

腾讯云云函数(SCF)WebServer 镜像函数-云淘科技



基于 WebServer 镜像部署的函数开发

HTTP Server 搭建

基于镜像部署的函数,需要搭建 HTTP Server,配置要求如下:监听 0.0.0.0:9000*:9000。HTTP Server 需在30秒内启动完毕。如未完成,则可能会导致健康检查超时,出现以下错误:

The request timed out in 30000ms.Please confirm your http server have enabled listening on port 9000.

函数入参

event:POST 请求体(HTTP Body)
请求体包含事件数据,结构请参见 触发器事件消息结构汇总。context:请求头(HTTP Header)公共参数,用于标识用户和接口签名的参数,每次请求中均需携带。通过 X-Scf-Request-Id 获取当前请求 ID。说明事件函数和 Web 函数均包含 Common Headers。公共请求头由云函数生成,主要包含权限、函数基本信息等。详细列表如下所示:

Header 字段 描述
X-Scf-Request-Id 当前请求 ID
X-Scf-Memory 函数实例运行时可使用的最大内存
X-Scf-Timeout 函数执行的超时时间
X-Scf-Version 函数版本
X-Scf-Name 函数名称
X-Scf-Namespace 函数所在命名空间
X-Scf-Region 函数所在地域
X-Scf-Appid 函数所有者的 Appid
X-Scf-Uin 函数所有者的 Uin
X-Scf-Session-Token 临时 SESSION TOKEN
X-Scf-Secret-Id 临时 SECRET ID
X-Scf-Secret-Key 临时 SECRET KEY
X-Scf-Trigger-Src Timer(使用定时触发器时)

内置环境变量

自定义镜像场景相较于基于代码包部署,在容器内置的环境变量上做了变更,您可以根据实际需要进行引用。

环境变量 Key 具体值或值来源
TENCENTCLOUD_RUNENV SCF
USER_CODE_ROOT /var/user/
USER qcloud
SCF_FUNCTIONNAME 函数名
SCF_FUNCTIONVERSION 函数版本
TENCENTCLOUD_REGION 区域
TENCENTCLOUD_APPID 账号 APPID
TENCENTCLOUD_UIN 账号 UIN

函数调用

事件函数,用户需要监听固定路径 /event-invoke 来接受函数调用请求。Web 函数,用户无需监听指定路径,API 网关将会以7层反向代理的方式透传请求路径。

函数日志打印

云函数 SCF 将以无侵入的方式,收集在容器内所产生的 stdout、stderr 等标准输出日志,并上报至日志模块。您在调用函数后,可以通过控制台查看日志聚合展示效果。

冷启动优化

镜像由于增加了基础环境、系统依赖等文件层,相较于基于代码包部署的完全内置,存在额外的文件下载和镜像解压的时间。为了进一步降低冷启动时间,推荐您使用以下策略。

优化镜像体积

在同一地域创建镜像仓库与函数。在函数触发镜像拉取时通过 VPC 网络进行拉取,以此获得更快更稳定的镜像拉取效率。镜像制作秉承最小化原则,即仅包含必要基础环境、运行依赖,去除不必要的文件等。

开启镜像加速

通过开启镜像加速开关,函数平台会通过内部加速机制,预先将镜像就近缓存,在调用函数实例时,直接从缓存进行加载和解压,省去了镜像文件下载的时间。可获得平均 5 倍的启动速度提升。

操作步骤

1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。2.函数服务列表中,选择需进行配置的镜像函数名。3.函数管理页面中,选择函数代码,单击镜像配置右侧的编辑,进入编辑模式。4. 单击镜像加速右侧的

腾讯云云函数(SCF)WebServer 镜像函数-云淘科技

,开启镜像加速模式。如下图所示:

腾讯云云函数(SCF)WebServer 镜像函数-云淘科技


5. 单击保存完成配置。

注意事项

该功能目前属于公测免费期,每个账户在单个地域下限制为最多开启5个函数加速。

使用预置并发

镜像部署搭配预置并发功能,预先启动函数实例,达到最优降低冷启动的体验,详情请参见 预置并发。

计费说明

使用镜像部署函数的计费项与使用代码包部署的计费项完全一致。计费详情请参见 计费方式。

使用限制

镜像大小

目前仅支持镜像(解压前)小于1Gi,如有特殊需要,可 提交工单 申请。建议您根据镜像的大小来选择适合的函数实例执行内存。

镜像大小(X) 执行内存(Y)
X < 256MB 256MB < Y < 512MB
256MB < X <512MB 512MB < Y < 1Gi
512MB < X < 1Gi Y>1Gi

镜像仓库访问

仅支持腾讯云容器镜像服务企业版和个人版,详情可参见 容器镜像服务。容器镜像服务企业版镜像仓库详情可参见 镜像仓库基本操作。容器镜像服务个人版镜像仓库详情可参见 开通个人版镜像仓库。仅支持同地域(Region)下私有镜像仓库的镜像读取。

容器内文件读写权限

默认 /tmp 可读可写,建议输出文件时选择 /tmp。避免使用其他用户的存在限制访问或执行的文件。容器内文件可写层存储空间限制为512M。

构建镜像的客户端 CPU 架构限制

云函数当前是基于 X86 架构运行的,所以暂不支持运行在 ARM 平台上构建的镜像。ARM 的平台典型如 Apple Mac 搭载 M1 芯片的 PC 端。

构建镜像的客户端限制

满足其中之一即可:Docker image manifest V2,schema 2 (使用 Docker version 1.10或者更新版本)Open Container Initiative (OCI) Specifications (v1.0.0及以上)
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149711.html

(0)
上一篇 2023年12月9日 下午1:24
下一篇 2023年12月9日 下午1:24
详情页2

相关推荐

  • PolarDB能给数据库中的视图加列存索引吗?-云小二-阿里云

    PolarDB能给数据库中的视图加列存索引吗? 以下为热心网友提供的参考意见 VIEW中引用的表加上列存索引就可以了。此回答整理自钉群“PolarDB专家面对面 – HTAP(列存索引)”

    阿里云 2023年12月28日
  • 腾讯云对象存储静态网站

    简介 本文档提供关于静态网站的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket website 设置静态网站 设置存储桶的静态网站配置 GET Bucket website 查询静态网站配置 查询存储桶的静态网站配置 DELETE Bucket website 删除静态网站配置 删除存储桶的静态网站配置 SDK API …

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云CVM服务器CentOS 停服说明及应对方案推荐

    CentOS 停服背景 CentOS 官方计划停止维护 CentOS Linux 项目,CentOS 8及 CentOS 7维护情况如下表格。如需了解更多信息,请参见 CentOS 官方公告。 操作系统版本 停止维护时间 使用者影响 CentOS 8 2022年01月01日 停止维护后将无法获得包括问题修复和功能更新在内的任何软件维护和支持。 CentOS …

    2023年12月9日
  • 腾讯云对象存储使用 DataX 导入或导出 COS

    环境依赖 HADOOP-COS 与对应版本的 cos_api-bundle。DataX 版本:DataX-3.0。 下载与安装 获取 HADOOP-COS 在官方 Github 上下载 HADOOP-COS 与对应版本的 cos_api-bundle。 获取 DataX 软件包 在官方 Github 上下载 DataX。 安装 HADOOP-COS 下载 H…

    腾讯云 2023年12月9日
  • 腾讯云对象存储创建模板

    功能描述 创建视频截图模板。 授权说明 授权策略中 action 设置为 ci:CreateMediaTemplate 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 POST /template HTTP/1.…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。