检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
您可以使用控制台中“代码”页签下的代码编辑器在线编辑函数代码。 编写函数代码前,请参考修改函数执行入口了解如何查看和修改函数执行入口。在线编辑代码区域支持工程方式的管理,请参考在线编辑代码区域管理使用。 完成代码编辑后,单击“部署代码”,控制台会将代码及相关的配置信息压缩到Fu
在函数列表中,单击函数名称进入函数详情页。 在“代码”页签,右侧选择“上传代码 > OBS地址”。在弹出的窗口中,输入复制的OBS桶对象URL。 OBS地址输入完成后,单击“确定”,代码将自动部署到代码编辑区中。 如需修改代码编辑区中的代码,请在每次修改完成后单击“部署代码”,进行代码更新部署。 父主题: 配置函数代码
代码签名 为了保障用户的代码安全,防止代码文件损坏或被篡改导致代码不一致问题,保证被执行的函数代码为正确版本,当函数创建或修改代码时,FunctionGraph对用户的函数代码签名加密,为其生成代码签名,并存储在函数元信息内。 FunctionGraph在函数执行时,为当前执行的
在弹出的窗口中,单击“添加文件”,选择本地函数代码代码包。 文件上传完成后,单击“确定”,代码将自动部署到代码编辑区中。 如需修改代码编辑区中的代码,请在每次修改完成后单击“部署代码”,进行代码更新部署。 配置HTTP函数的代码包 在调用API前,请先确保您的业务系统所在网络与API的访问域名或地址互通:
代码解读 FunctionGraph函数初始化入口 Redis连接池 Redis重试机制 Redis健康检查 父主题: 示例代码
示例代码 连接DCS单机、主备、读写分离、Proxy集群实例 连接DCS集群实例 代码解读 父主题: 使用FunctionGraph函数访问Redis数据
配置函数代码 在线编辑函数代码 直接上传函数代码 OBS方式上传函数代码 父主题: 配置函数
是否必选 参数类型 描述 code_type 是 String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 修改自定义镜像函数镜像配置请参考:修改自定义镜像类型函数的镜像配置。
步骤二:函数代码托管 在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy
在线调试函数 本章节指导您使用函数工作流控制台管理测试事件,并通过测试事件在线调试函数。 操作场景 完成函数的各项配置后,在函数详情页中的“代码”页签下,可以自定义设置测试事件,验证函数能否成功执行。 有关函数在线调试测试事件的操作,您可以参见使用空白模板创建函数指导视频中调试测试事件的介绍。
使用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
但是其最大重试次数为 retries * (cluster_error_retry_attempts+1),以上述示例代码为例,最大重试次数为12次。 父主题: 代码解读
资产识别与管理 在函数的环境变量中,若有敏感信息例如账号和密码、Ak/Sk等,建议通过配置加密环境变量。不配置加密环境变量,则会在界面或API返回结果中明文展示。 在使用触发器、配置VPC访问、使用自定义镜像、挂载SFS等场景下,FunctionGraph需要与其他云服务协同工作
Redis连接池 在示例代码中使用了Redis连接池(BlockingConnectionPool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下: pool = BlockingConnectio