更新时间:2024-11-20 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. 查看两个定时触发器

相关文档