检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
控制台中“代码”页签下的代码编辑器在线编辑函数代码。 在线编辑代码区域支持工程方式的管理,请参考在线编辑函数代码使用。 约束与限制 仅Node.js、Python、PHP和定制运行时函数支持在线编辑函数代码。 使用Python语言在线编辑代码,需要输出中文时,请在代码编辑器中增加如下代码:
代码签名 为了保障用户的代码安全,防止代码文件损坏或被篡改导致代码不一致问题,保证被执行的函数代码为正确版本,当函数创建或修改代码时,FunctionGraph对用户的函数代码签名加密,为其生成代码签名,并存储在函数元信息内。 FunctionGraph在函数执行时,为当前执行的
是否必选 参数类型 描述 code_type 是 String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 修改自定义镜像函数镜像配置请参考:修改自定义镜像类型函数的镜像配置。
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
约束与限制 直接上传的代码文件大小限制为40MB以内,如文件大小超过该限制,请使用从OBS上传函数代码的方式上传代码文件 如果代码中包含敏感信息(如账户密码等),请自行加密,以防信息泄露。 当代码编辑器中部署的代码大于20M时将不展示代码,如图1所示,但仍可以正常测试函数代码。 图1 编辑器不展示代码
配置函数代码 在线编辑函数代码 直接上传函数代码 OBS方式上传函数代码 父主题: 配置函数
步骤二:函数代码托管 在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy
时)的代码文件。 代码文件解压后的源代码大小不能超过1.5G,如需部署超大代码请提交工单处理。 当代码编辑器中部署的代码大于20M时将不展示代码,如图1所示,但仍可以正常测试函数代码。 图1 编辑器不展示代码 前提条件 已创建桶并将函数代码文件上传至OBS桶。 上传函数代码 登录
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用FunctionGraph函数访问Redis数据
在线调试函数 本章节介绍如何通过函数工作流控制台管理测试事件,并通过测试事件在线调试函数。 操作场景 完成函数的各项配置后,在函数详情页的“代码”页签下,可自定义配置测试事件,验证函数能否成功执行。 有关函数在线调试测试事件的操作,可以参考指导视频使用空白模板创建函数中调试测试事件的操作介绍。
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
如何导出函数中的代码? 登录函数工作流控制台,单击函数名称进入函数详情页,单击右上方操作栏下的“导出函数”,继续单击“导出函数代码”。 通过导出函数API接口获取函数代码。 父主题: 创建函数
deploy.py代码示例 # -*-coding:utf-8 -*- import os import sys import json import logging import subprocess from yaml import load from base64 import
code_type String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 Custom-Image-Swr: 函数代码来源于SWR自定义镜像。 枚举值:
值。 值 环境变量的值,取值范围:键和值的总长度不超过4096个字符。 加密参数 开启加密参数后,环境变量的值将以“*”号加密显示,参数传输过程中键值也处于加密状态。 已开启加密并保存的环境变量值,取消加密后将重置为空。 图1 添加环境变量 配置完成后,单击“确定”保存环境变量。
FunctionGraph函数初始化入口 在示例代码中,initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client =
端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff(), 3) pool = BlockingCon
资产识别与管理 在函数的环境变量中,若有敏感信息例如账号和密码、Ak/Sk等,建议通过配置加密环境变量。不配置加密环境变量,则会在界面或API返回结果中明文展示。 在使用触发器、配置VPC访问、使用自定义镜像、挂载SFS等场景下,FunctionGraph需要与其他云服务协同工作
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio
但是其最大重试次数为 retries * (cluster_error_retry_attempts+1),以上述示例代码为例,最大重试次数为12次。 父主题: 代码解读