更新时间:2025-05-28 gmt 08:00
示例3:函数互调-j9九游会登录
场景描述
本章节以python语言举例,指导您在一个函数里调用另外一个函数。
api的调用方法请参见。
前提条件
已创建委托,包含“functiongraph administrator”或“tenant administrator”权限的委托。
约束与限制
请确保子函数与父函数创建在同一区域下。
总体思路
- 创建子函数。
- 创建父函数。
- 调用函数。
步骤一:创建子函数
在函数控制台创建子函数,本例所选参数如图1所示,其他参数保持默认。
图1 配置参数
步骤二:创建父函数
- 在函数控制台创建父函数。委托名称选择包含“functiongraph administrator”或“tenant administrator”权限的委托,本例所选参数如图2所示,可自行选择函数所在区域,其他参数保持默认。
图2 配置参数
- 在“代码”页签,复制以下示例代码到代码编辑区,替换字段后单击“部署代码”。字段说明请参考表1。
import json import requests def handler (event, context): token = context.gettoken() project_id = context.getprojectid() urn = 'urn:fss:xx-xxxxx-x:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:function:xxx:subfunction:latest' #子函数的urn,在子函数详情页拓扑图的右侧可查询 url = 'https://functiongraph.{region_id}.{external_global_domain_name}/v2/%s/fgs/functions/%s/invocations' % (project_id,urn) headers = { "x-auth-token": token, "content-type": 'application/json' } body = {"k":"v"} resp = requests.post(url, json=body, headers=headers, verify=false) print(resp.text) return { "statuscode": 200, "isbase64encoded": false, "body": json.dumps(event), "headers": { "content-type": "application/json" } }表1 示例代码字段获取说明 字段
说明
region_id
区域id。
请参考中“区域”列,根据函数所在区域填写。以“华东-上海一”为例,则填写“cn-east-3”。
external_global_domain_name
外部全局域名。
请填写“myhuaweicloud.com”。
步骤三:调用函数
- 在父函数的函数详情页,单击“测试”,弹出“配置测试事件”弹窗,单击“创建”使用默认空白模板创建测试事件。
- 创建成功后,单击代码编辑区的“测试”,进行父函数调用。
- 查看执行结果。
- 父函数的执行结果显示“执行成功”,返回“200”。
图3 父函数执行历史
- 子函数的日志中,显示被调用的日志。
图4 子函数执行历史
- 父函数的执行结果显示“执行成功”,返回“200”。
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨