云小课|使用 SpringBoot 快速构建 FunctionGraph HTTP 函数
本文分享自华为云社区《云小课|使用SpringBoot快速构建FunctionGraph HTTP函数】》,原文作者:阅识风云
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。
本篇云小课将复杂的场景简单化,带你轻轻松松使用 SpringBoot 快速构建 FunctionGraph HTTP 函数。
操作流程
此处以 Spring.io 中的 IntelliJ IDEA,Maven 项目为例,使用 HTTP 函数的方式部署到 FunctionGraph 上。
构建代码包
1、打开 Springboot 项目,在 maven 插件处单击 package,生成 jar 包。
2、配置工程 web 端口。HTTP 函数当前支持 8000 端口,需配置工程 web 端口为 8000, 可以参见下图使用 application.properties 文件来配置,也可以在启动时指定端口号。
3、在 jar 包同目录创建 bootstrap 文件并输入启动参数。
/opt/function/runtime/java11/rtsp/jre/bin/java -jar -Dfile.encoding=utf-8 /opt/function/code/rest-service-complete-0.0.1-SNAPSHOT.jar
4、选中 jar 包和 bootstrap 文件,打包成 zip 包。(下一步会派上用场哦)
创建 HTTP 函数并上传代码
1、在 FunctionGraph 控制台,创建 HTTP 函数。
2、上传上一步中由 jar 包和 bootstrap 打包的 zip 包。
验证结果
1、使用函数测试事件验证
在函数详情页,单击“配置测试事件”。
选择事件模板“apig-event-template”,修改测试事件中的 path、pathParameters 参数,构建一个简单的 Get 请求。
单击“创建”,完成测试事件创建。
单击“测试”,获取响应。
建议在测试时增加函数内存规格及超时时间,如 512MB、5s。
2、配置 APIG 触发器测试
创建 APIG 触发器,“安全认证”建议选择“None”,方便调试。
复制生成的调用 URL 在浏览器进行访问。如图 1-6 所示,在 URL 后添加请求参数 greeting?name=fg_user,响应如下。
温馨提示:
默认生成的 APIG 触发器的调用 URL 为“域名/函数名”,在本案例中即:https://your_host.com/springboot_demo,URL 中包含了函数名 springboot_demo 作为 path 的第一部分。如果直接 Get https://your_host.com/springboot_demo/greeting,springboot 接收到的请求地址将包含 springboot_demo/greeting 两部分。此处需注意: 如果用户直接把已有的工程上传,会因为 path 里多了函数名而无法直接访问自己的服务。因此,请参考以下两种方法注解或去除函数名。
方法一:修改代码中的 Mapping 地址,例如在 GetMapping 注解或者类注解上添加默认的 path 第一部分。
方法二:单击触发器名称,跳转至 API 网关服务,直接修改 path 去除函数名。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/3e3e871160eed435d291a975d】。文章转载请联系作者。
评论