新建后端自定义认证函数和函数触发器
本小节创建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左右,再创建一个参数一样(名称不一样)的定时触发器
- 查看两个定时触发器