更新时间:2022-04-22 GMT+08:00
分享

创建HTTP函数

该特性仅FunctionGraph v2版本支持。

概述

HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。

  • HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127.0.0.1。
  • bootstrap文件是HTTP函数的启动文件,HTTP函数仅支持读取bootstrap 作为启动文件名称,其它名称将无法正常启动服务,bootstrap启动文件请参考bootstrap文件示例
  • HTTP 函数支持多种开发语言(JAVA、Python、Nodejs) 。
  • 该章节均以 java 为样例,若需要使用其他语言,则更换语言路径即可,代码包路径无需更换。其他各语言路径请参考表1

前提条件

  1. 准备一个java的jar包。
  2. 准备一个bootstrap启动文件,作为HTTP函数的启动文件。

    示例:

    bootstrap文件内容如下

    /opt/function/runtime/java8/rtsp/jre/bin/java -jar -Dfile.encoding=utf-8 /opt/function/code/gsondemo-0.0.1-SNAPSHOT.jar
    • /opt/function/runtime/java8/rtsp/jre/bin/java:表示java所在路径。
    • -Dfile.encoding=utf-8:JVM参数,添加此参数,可以避免中文乱码。
    • /opt/function/code:表示函数代码包所在路径
    • gsondemo-0.0.1-SNAPSHOT.jar:示例jar包,提供的服务路径为“/user/get”。

    若需要使用其他语言,则参考表1更换语言路径,代码包路径无需更换。

    表1 多语言路径说明

    语言

    路径

    Java8

    /opt/function/runtime/java8/rtsp/jre/bin/java

    Node.js6

    /opt/function/runtime/nodejs6.10/rtsp/nodejs/bin/node

    Node.js8

    /opt/function/runtime/nodejs8.10/rtsp/nodejs/bin/node

    Node.js10

    /opt/function/runtime/nodejs10.16/rtsp/nodejs/bin/node

    Node.js12

    /opt/function/runtime/nodejs12.13/rtsp/nodejs/bin/node

    Python2.7

    /opt/function/runtime/python2.7/rtsp/python/bin/python

    Python3.6

    /opt/function/runtime/python3.6/rtsp/python/bin/python3

创建并触发函数

  1. 创建函数
    1. 创建HTTP函数,详细配置信息请参考创建函数,如下参数需注意。
      • FunctionGraph版本:FunctionGraph v2
      • 类型:HTTP函数

    2. 上传代码,此处以“从OBS上传文件”为例。

      将提前准备好的jar包和bootstrap文件打包成zip包,代码上传方式选择“从OBS上传文件”。

    3. 配置完成后,单击“创建函数”。
  2. 创建触发器

    HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。

    1. 进入函数详情页面,选择“触发器”页签,单击“创建触发器”。
    2. 配置触发器信息,此处以创建“API网关服务(APIG)”触发器为例,其他配置信息请参考使用APIG触发器

      示例中“安全认证”暂时选择“None”,用户在配置时应根据实际情况选择。

      • App:采用 Appkey&Appsecret 认证,安全级别高,推荐使用。
      • IAM:IAM 认证,只允许IAM用户能访问,安全级别中等。
      • None:无认证模式,所有用户均可访问。
    3. 配置完成后,单击“确定”。API触发器创建完成后,会在API网关生成API“API_test_http_02”。
  3. 发布API
    1. 单击“触发器”页签下的API名称,跳转至API的总览页面。
    2. 单击右上方的“编辑”,进入“基本信息”页面。
    3. 单击“下一步”,进入“定义api请求”页面,修改“请求Path”为“/user/get”并单击“立即完成”。
      图1 定义API请求
    4. 单击“发布API”,在发布页面继续单击“发布”。
  4. 触发函数
    1. 返回函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击创建的HTTP函数进入函数详情页。
    2. 在“触发器”页签下,复制“请求路径”的“url”,在浏览器访问。

    3. 查看请求结果。

分享:

    相关文档

    相关产品

close