更新时间:2023-11-03 GMT+08:00
新建后端自定义认证函数和函数触发器
本小节创建1个后端自定义函数用于API流的认证,可复用;另外创建了2个参数一样的函数触发器,用于提升接口性能
注: 同一个集成工作台账号,如果已经添加过自定义认证函数和触发器,跳过当前小节,进入4.4.3
- 在华为云-服务列表,弹出框搜索函数工作流,点击进入函数工作流
- 选择创建函数
- 选择函数语言,创建函数BackendAuthentication
- 将代码粘贴到编辑框,点击部署
代码:
# -*- coding:utf-8 -*- import requests import json def handler (event, context): # 获取token的url url = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens" payload = json.dumps({ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": context.getUserData('name'), "password": context.getUserData('password'), "domain": { "name": context.getUserData('domain') } } } }, "scope": { "project": { "name": "cn-north-4" } } } }) headers = { 'Content-Type': 'application/json' } res = json.dumps({ "status":"allow", "context":{ "token":requests.request("POST", url, headers=headers, data=payload).headers.get("X-Subject-Token") } }) return { "statusCode": 200, "body": res, "headers": { "Content-Type": "application/json" } }
- 函数部署完成
- 添加环境变量
- 测试,返回成功且能获取到token信息
- 点击“设置”-“触发器”,再点击右侧的“创建触发器”
- 搜索“定时触发器”
- 频率选固定频率,1min,点击“确定”完成定时器1创建
- 间隔30s左右,再创建一个参数一样(名称不一样)的定时触发器
- 查看两个定时触发器
父主题: API流认证相关设置