检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SDK概述 本文介绍了FunctionGraph服务提供的SDK语言版本,列举了最新版本SDK的获取地址。 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在SDK中心查询版本信息。 在线生成SDK代码 API Exp
depend_type为zip类型时必填,为文件流格式,需要base64编码zip文件。 上传的文件大小限制为40M,如超过40M,请通过OBS上传。 depend_link 否 String depend_type为obs类型时,依赖包在obs的存储地址。 depend_type
return value 表1 RedisCluster配置 参数 默认值 说明 host localhost 连接Redis实例的IP地址/域名 port 6379 连接端口号 cluster_error_retry_attempts 3 当遇到TimeoutError、C
php、composer 和google三个文件夹。 使用以下命令生成zip包。 zip –rq vendor.zip vendor 如需同时封装多个依赖包,在composer.json文件中指定需要的依赖,把生成的vendor文件整体打包成zip文件上传即可。 在PHP项目中,使用composer下载的第三方依赖,需通过require
运行时语言:选择“Go1.x”。 进入test-rotate函数详情页,配置如下信息。 在“代码”页签,代码选择“上传自ZIP文件”,上传样例代码“go-test.zip”编译后的二进制文件。 在“设置 > 常规设置”页签,设置如下信息,完成后单击“保存”。 内存:选择“256” 执行超时时间:输入“40”
> 函数列表”。 在函数列表中,单击函数名称进入函数详情页。 在“代码”页签,右侧选择“上传代码 > OBS地址”。在弹出的窗口中,输入复制的OBS桶对象URL。 OBS地址输入完成后,单击“确定”,代码将自动部署到代码编辑区中。 如需修改代码编辑区中的代码,请在每次修改完成后单击“部署代码”,进行代码更新部署。
0.1 函数样例工程包下载 本手册使用样例工程包下载地址如表4所示,可以下载到本地,创建函数时上传使用。 表4 样例工程包下载 函数 工程包下载 软件包校验文件 Node.js函数 fss_examples_nodejs.zip fss_examples_nodejs.sha256
用户函数需要返回一个合法的http响应报文,用户的HTTP响应体不超过6M。 函数发起HTTP请求时,如果是内网访问,则请求IP地址是动态;如果是公网访问,则请求IP地址是固定。如需了解更多详情请咨询技术支持工程师。 HTTP函数只允许创建APIG共享版、APIG专享版、APIC的触发器类型,其他触发器不支持。
当实际比例高于当前设置的目标值时,FunctionGraph会直接创建对应数量的预留实例;当实际比例低于当前设置的目标值时,FunctionGraph会逐步缩容预留实例数。调整的时间周期 为1分钟一次,指标生成也是1分钟一次,所以预留实例的调整会滞后1-2分钟。 最小预留实例数 当指标策略生效
创建1个HTTP函数,并上传已打包的xxx.zip包。请参见创建HTTP函数。 创建APIG触发器 请参见使用APIG触发器,创建APIG触发器,“安全认证”建议选择“None”,方便调试。 图1 APIG触发器 调用测试 将刚才创建的APIG触发器的URL+代码中注册的“/hello”复制到浏览器地址栏,可以看到页面返回结果如下:
在函数工程中,选中“helloworld.py”和“index.py”文件,打包压缩为“fss_examples_python2.7.zip”。 上传“fss_examples_python2.7.zip”到OBS桶,记录OBS链接。 步骤3:调用创建函数API,使用OBS链接创建函数 URI:POST /v
在线编辑函数代码:使用控制台代码编辑器在线编辑函数代码。 直接上传函数代码:直接上传本地开发完成的ZIP文件或JAR文件,适用于代码文件不超过40MB的场景使用。 从OBS上传函数代码:通过输入OBS桶地址,上传OBS桶中的ZIP文件或JAR文件,适用于代码文件不超过300MB的场景使用。 2 配置函数的依赖包
用户在编辑函数代码时支持类似工程方式的管理,可以创建文件、文件夹并对其进行编辑。使用函数工作流控制台中的在线代码编辑器,可以在线编写函数代码,如果代码是上传zip包的方式,则前端进行相应解压展示,并支持在线编辑修改。同时,在线代码编辑器支持在线测试和保存,可以查看函数执行的返回、执行摘要和日志,该功能需要在编辑器全屏模式下使用。
codeType: zip # 函数代码类型 dependVersionList: # 依赖包,取依赖包的ID - xxx-xxx code: # 本地代码地址
577118, "name" : "python-kafka", "description" : "python支持kafka操作的库", "file_name" : "python-kafka.zip" } 状态码 状态码 描述 200 OK 401 Unauthorized
上传本地开发完成的ZIP或JAR代码文件进行函数代码部署。请参考表1,查看所使用的运行时支持的直接上传代码文件类型。 请参见函数工程打包规范在本地打包代码文件,如需修改函数执行入口,请参见修改函数执行入口。 表1 直接上传代码支持的文件类型 运行时 上传ZIP文件 上传JAR文件
stack_id String 资源栈id repo_name String 存储库名称 description String 应用描述 repo RepoInfo object 存储库信息 pipeline_id String 管道id project_id String 项目id apig_url
http://${EXTENSION_API_ADDR}/telemetry 您可以通过 EXTENSION_API_ADDR 环境变量得到平台开放的提供注册的API地址,例如对于Python,EXTENSION_API_ADDR的获取方式为os.getenv("EXTENSION_API_ADDR ")。
– 该扩展用于接收调用事件的服务端地址。必需:是。类型:字符串。例如:127.0.0.1:8081。 FunctionGraph需要使用扩展的完整文件名来验证扩展是否已完成引导启动,且扩展注册的请求头必须包含本扩展启动的httpServer的地址和端口。例如,请求头的格式为: headers
inline:UI在线编辑代码。 zip:函数代码为zip包。 jar:函数代码为jar包,主要针对Java函数。 obs:函数代码来源于OBS存储。 code_url 当“code_type”为“obs”时,该值为函数代码包在OBS上的地址。 当“code_type”为“inline”、“zip”或“jar”时,该字段为空。