活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      函数工作流

      函数工作流

        • 产品简介
        • 产品定义
        • 产品功能
        • 产品优势
        • 常用概念
        • 函数类型
        • 事件函数
        • HTTP函数
        • 权限管理
        • 应用场景
        • 约束与限制
        • 与其他服务依赖关系
        • 计费说明
        • 产品价格
        • 计费项
        • 计费方式
        • 到期与欠费
        • 删除
        • 快速入门
        • FunctionGraph入门简介
        • 使用空白模板创建函数
        • 使用模板创建函数
        • 使用容器镜像部署函数
        • 开发HTTP函数示例
        • 开发事件函数示例
        • 用户指南
        • 使用前必读
        • FunctionGraph使用流程
        • 支持的编程语言
        • 构建函数
        • 创建程序包
        • 使用空白模板创建函数
        • 创建事件函数
        • 创建HTTP函数
        • 使用示例模板创建函数
        • 使用容器镜像部署函数
        • 配置函数
        • 配置初始化
        • 配置常规信息
        • 配置委托权限
        • 配置网络
        • 配置磁盘挂载
        • 配置环境变量
        • 配置函数异步
        • 配置单实例多并发
        • 版本管理
        • 别名管理
        • 配置动态内存
        • 配置心跳函数
        • 在线调试
        • 配置触发器
        • 触发器管理
        • 使用定时触发器
        • 使用APIG(专享版)触发器
        • 使用Kafka触发器
        • 使用LTS触发器
        • 使用CTS触发器
        • 使用DDS触发器
        • 使用RabbitMQ触发器
        • 使用开源Kafka触发器
        • 函数定时触发器Cron表达式规则
        • 调用函数
        • 同步调用
        • 异步调用
        • 重试机制
        • 监控
        • 指标
        • 监控信息说明
        • FunctionGraph服务的监控指标参考
        • 创建告警规则
        • 日志
        • 查看函数日志
        • 管理函数日志
        • 函数管理
        • 依赖包管理
        • 预留实例管理
        • 函数流管理
        • 函数流简介
        • 创建函数流任务
        • 函数流执行历史管理
        • 创建函数流触发器
        • 流式文件处理
        • 最佳实践
        • 使用SpringBoot构建FunctionGraph HTTP函数
        • 创建使用自定义认证且后端为FunctionGraph的API
        • 函数+APIG:处理文件上传
        • 使用Go构建FunctionGraph HTTP函数
        • 常见问题
        • 计费类
        • 购买类
        • 通用类
        • 操作类
        • 文档下载
        • 相关协议
        • 天翼云函数工作流服务协议
        • 天翼云函数工作流服务等级协议
          无相关产品

          本页目录

          帮助中心函数工作流最佳实践创建使用自定义认证且后端为FunctionGraph的API
          创建使用自定义认证且后端为FunctionGraph的API
          更新时间 2025-01-13 16:37:18
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2025-01-13 16:37:18
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本章节指导您快速创建后端服务为FunctionGraph的API,并通过APIG安全认证中的“自定义认证”鉴权方式进行调用。

          方案概述

          1. 登录FunctionGraph控制台,创建函数,并将其定义为自定义认证函数。
          2. 登录FunctionGraph控制台,创建一个业务函数。
          3. 购买APIG专享版实例,并在其中创建一个API分组,用来存放API。
          4. 创建一个鉴权方式为自定义认证且后端为FunctionGraph的API。
          5. 调试API。

          构建程序

          创建API分组

          创建函数及添加事件源之前,需要先创建一个API分组,API分组是API的管理单元,用来存放API。

          1. 登录APIG控制台,右上角单击“立即购买专享版”,配置详情请参见《API网关(APIG) 快速入门》的“购买专享版实例”章节。
          2. 选择已创建的APIG专享版实例,并在导航栏选择“API管理 > API分组”,单击“创建API分组”。
          3. 选择直接创建,设置以下分组信息,完成后单击“确定”创建分组。
            1. 输入您自定义的分组名称,例如APIGroup_test。
            2. 描述:输入对分组的描述。

          创建自定义认证函数

          前端自定义认证指APIG利用校验函数对收到的API请求进行安全认证,如果您想要使用自己的认证系统对API的访问进行认证鉴权,您可以在API管理中创建一个前端自定义认证来实现此功能。您需要先在FunctionGraph创建一个函数,通过函数定义您所需的认证信息,函数创建成功后,即可对API网关中的API进行认证鉴权。本示例以Header中的请求参数:event["headers"],为例进行演示。

          1. 进入函数工作流控制台后,在左侧导航栏选择“函数 > 函数列表”,进入函数列表界面。

          2. 单击“创建函数”,进入创建函数流程。

          3. 填写函数配置信息,完成后单击“创建函数”。

            1. 模板:选择“使用空白模板”。
            2. 函数类型:事件函数。
            3. 函数名称:输入您自定义的函数名称,例如:apig-test。
            4. 委托名称:选择“未使用任何委托”。
            5. 运行时语言:选择“Python 2.7”。
          4. 进入函数详情页,在“代码”页签,进行代码在线编辑。

          5. 配置测试事件,测试用于前端自定义认证的函数。单击“配置测试事件”,选择事件模板。根据实际情况修改后保存测试模板(本示例在"headers"中添加"auth":"abc"),完成后单击“创建”。

            图 配置测试事件

            image.png

          6. 单击“测试”,执行结果为“成功”时,表示自定义认证函数创建成功。

          创建自定义认证

          在APIG中创建自定义认证,对接前端自定义认证的函数。

          1. 选择已创建的APIG专享版实例,并在航栏选择“API管理 > API策略”,在“自定义认证”页签下,单击“创建自定义认证”,弹出“创建自定义认证”对话框。
          2. 配置自定义认证基础信息,如下图所示。
            1. 认证名称:输入您自定义的名称,例如Authorizer_test。
            2. 类型:选择“前端”。
            3. 函数地址:请选择用于前端自定义认证的函数apig-test。
          3. 完成后单击“确定”,完成自定义认证的创建。

          创建后端业务函数

          API网关(APIG)支持选择FunctionGraph作为后端服务类型,当请求设置函数工作流为后端服务的API时,API网关会触发相应的函数,函数工作流会将执行结果返回给API网关(APIG)。

          1. 创建函数方法与上述创建自定义认证函数相同,只需修改函数名称,避免名称重复。
          2. 在函数详情页的“代码”页签,进行代码在线编辑,并传入如下所示的代码,完成后单击“部署”,更新函数。
          -- 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
          }
          

          请求参数代码定义示例

          在FunctionGraph中开发函数,以python2.7语言为例,函数代码需要满足如下条件。函数有明确的接口定义,如下所示:

          1. def handler (event, context)

            1. 入口函数名(handler):入口函数名称,需和函数执行入口处用户自定义的入口函数名称一致。
            2. 执行事件(event): 函数执行界面由用户输入的执行事件参数,格式为JSON对象。
            3. 上下文环境(Context):Runtime提供的函数执行上下文,其接口定义在SDK接口说明,详情请参见《函数工作流(FunctionGraph) 用户指南》的“Python > 开发事件函数”章节。
          2. 执行事件(event)支持三种请求参数定义,格式为:

            1. Header中的请求参数:event["headers"]["参数名"]
            2. Query中的请求参数:event["queryStringParameters"]["参数名"]
            3. 您自定义的用户数据:event["user_data"]
          3. 函数代码获取的三种请求参数与API网关自定义认证中的参数关系如下所示:

            1. Header中的请求参数:对应自定义认证中参数位置为Header的身份来源,其参数值在您调用使用该前端自定义认证的API时传入
            2. Query中的请求参数:对应自定义认证中参数位置为Query的身份来源,其参数值在您调用使用该前端自定义认证的API时传入
            3. 您自定义的用户数据:对应自定义认证中的用户数据,其参数值在您创建自定义认证时输入
            4. 函数的返回值不能大于1M,必须满足如下格式:
            {     "statusCode":200,
                  "body":"{\"status\": \"allow\", \"context\":{\"user\": \"abc\"}}"
            }
            

          其中,body字段的内容为字符串格式,json解码之后为:

          {
               "status":"allow/deny",
               "context": { 
               "user": "abc"
               }
          } 
          

          “status”字段为必选,用于标识认证结果。只支持“allow”或“deny”,“allow”表示认证成功,“deny”表示认证失败。“context”字段为可选,只支持字符串类型键值对,键值不支持JSON对象或数组。context中的数据为您自定义的字段,认证通过后作为认证参数映射到API网关后端参数中,其中context中的参数名称与系统参数名称必须完全一致,且区分大小写,context中的参数名称必须以英文字母开头,支持英文大小写字母、数字、下划线和中划线,且长度为1 ~ 32个字符。

          添加事件源

          创建API

          API分组、自定义认证函数、后端函数均创建成功以后,可以创建API,设置安全认证为自定义认证,并定义后端服务类型为FunctionGraph,步骤如下。

          1. 登录APIG控制台,选择已创建的APIG专享版实例,并在导航栏选择“API管理 > API列表”,单击右上方的“创建API”。
          2. 配置API基本信息。
            1. API名称:输入您自定义的名称,例如API_test。
            2. 所属分组:请选择上述操作中创建的API分组“APIGroup_test”。
            3. URL:请求方法选择“ANY”,请求协议选择“HTTPS”,请求路径填写“/testAPI”。
            4. 网关响应:选择“default”。
            5. 安全认证:选择“自定义认证”。
            6. 自定义认证:选择上述操作中创建的自定义认证“Authorizer_test”。
          3. 单击“下一步”,进行后端配置。
            1. 后端服务类型:选择“FunctionGraph”
            2. 函数URN:添加创建的业务函数
            3. 版本或别名:选择“latest”版本
            4. 调用类型:选择“Synchronous”
          4. 单击下一步,完成API创建。
          5. 继续在当前页面,单击“发布”,将已创建的API发布至RELEASE环境。

          调试并调用API

          API网关提供了在线调试的功能,因此一般建议在API网关上完成API配置之后,可以先通过此功能确认API是否配置成功。

          1. 登录APIG控制台,选择已创建的APIG专享版实例,并左导航栏选择“API管理 > API列表”,单击进入已创建的API“API_test”,右上角单击“调试”。
          2. 在本案例中,需要添加Headers参数,完成后单击“调试”。
            1. 参数名:输入“auth”
            2. 参数值:输入“abc”
          3. API返回内容即为前面步骤中创建的业务函数返回内容。
          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  使用SpringBoot构建FunctionGraph HTTP函数
          下一篇 :  函数+APIG:处理文件上传
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明