更新时间:2024-08-15 GMT+08:00

使用APIG(专享版)触发器

关于APIG触发器事件源具体介绍请参见支持的事件源

前提条件

已经创建API分组,此处以APIGroup_test分组为例,创建过程请参见创建API分组

创建APIG触发器

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击右上方的“创建函数”,进入“创建函数”页面。
  3. 设置以下函数信息。

    • 函数名称:输入您自定义的函数名称,例如:apig。
    • 委托名称:选择“不使用任何委托”。
    • 企业项目:选择“default”。
    • 运行时语言:选择“Python 2.7”。

  4. 单击“创建函数”,完成函数的创建。
  5. 在“代码”页签下,复制如下代码至代码窗并单击“部署”。

    # -*- coding:utf-8 -*-
    import json
    def handler (event, context):
        body = "<html><title>Functiongraph Demo</title><body><p>Hello, FunctionGraph!</p></body></html>"
        print(body)
        return {
            "statusCode":200,
            "body":body,
            "headers": {
                "Content-Type": "text/html",
            },        
            "isBase64Encoded": False
        }

  6. 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。

    图1 创建触发器

  7. 设置以下触发器信息。

    表1 触发器信息

    字段

    填写说明

    触发器类型

    选择“API网关服务(APIG专享版)”。

    实例

    选择所属实例,若无实例,可单击“创建实例”完成创建。

    API名称

    您自定义的API名称,例如:API_apig。

    分组

    API分组相当于一个API集合,API提供方以API分组为单位,管理分组内的所有API。

    选择“APIGroup_test”。

    发布环境

    API可以同时提供给不同的场景调用,如生产、测试或开发。API网关服务提供环境管理,在不同的环境定义不同的API调用路径。

    选择“RELEASE”,才能调用。

    安全认证

    API认证方式:

    • App: 采用Appkey&Appsecret认证,安全级别高,推荐使用,详情请参见APP认证
    • IAM: IAM认证,只允许IAM用户能访问,安全级别中等,详情请参见IAM认证
    • None: 无认证模式,所有用户均可访问。

    选择“None”。

    请求协议

    分为两种类型:

    • HTTP
    • HTTPS

    选择“HTTPS”。

    后端超时(毫秒)

    输入“5000”。

  8. 单击“确定”,完成触发器的创建。

    图2 创建触发器
    1. “调用URL”即APIG触发器调用地址。
    2. API触发器创建完成后,会在API网关生成名为API_apig的API,单击API名称,跳转至API网关服务。

调用函数

  1. 在浏览器地址栏输入APIG触发器的调用地址URL,按“Enter”。
  2. 函数执行完毕,得到返回结果,如图3所示。

    图3 返回结果
    1. FunctionGraph函数对APIG调用的传入值为函数自带的事件模板,您可以参见表2
    2. FunctionGraph函数对来自APIG调用的返回结果进行了封装,APIG触发器要求函数的返回结果中必须包含body(String)、statusCode(int)、headers(Map)和isBase64Encoded(boolean),才可以正确返回。

查看函数运行结果

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择函数,单击进入函数详情页。
  3. 选择“监控 > 日志”,查询函数运行日志。