更新时间:2023-11-03 GMT+08:00
分享

新建后端自定义认证函数和函数触发器

本小节创建1个后端自定义函数用于API流的认证,可复用;另外创建了2个参数一样的函数触发器,用于提升接口性能

: 同一个集成工作台账号,如果已经添加过自定义认证函数和触发器,跳过当前小节,进入4.4.3

  1. 在华为云-服务列表,弹出框搜索函数工作流,点击进入函数工作流

  2. 选择创建函数

  3. 选择函数语言,创建函数BackendAuthentication

  4. 将代码粘贴到编辑框,点击部署

    代码:

    # -*- 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"
            }
        }

  5. 函数部署完成

  6. 添加环境变量

  7. 测试,返回成功且能获取到token信息

  8. 点击“设置”-“触发器”,再点击右侧的“创建触发器”

  9. 搜索“定时触发器”

  10. 频率选固定频率,1min,点击“确定”完成定时器1创建

  11. 间隔30s左右,再创建一个参数一样(名称不一样)的定时触发器

  12. 查看两个定时触发器

相关文档