【华为云函数工作流】python的函数中如何获取请求链接中带的参数-过程

时间:2024-11-26 19:47:07
  1. 下一个简单的demo如下
    参考这个链接https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0420.html写一个demo,这个是百度视频云获取token的过程,返回的是一个token。
import json
from hashlib import sha1
import hmac
import base64
import binascii
from optparse import OptionParser

def calculate_signature(app_key, app_id, ts, random_str, room_name, uid, expect_ts):
    data = "ACS{}{}{}{}{}{}".format(app_id, ts, random_str, room_name, uid, expect_ts)
    app_key = bytes(app_key, encoding='utf-8')
    data = bytes(data, encoding='utf-8')
    signature =hmac.new(app_key, data, sha1).digest()#.encode('base64').rstrip()
    signature = binascii.b2a_hex(signature)
    return signature

def calculate_token(version, signature, ts, random_str, expect_ts):
    token ="{}{}{}{}{}".format(version, signature, ts, random_str, expect_ts)
    return token

def handler (event, context):
    rig=calculate_signature("57krhkd8qfuf222","appqk8fdr57iskp335","1553144847","dabdd97c","cc345","1006255","1731992174")
    rig=rig.decode()
    print("结果",rig)
    res=dir(event)
    print(res)
    return {
        "statusCode": 200,
        "isBase64Encoded": False,
        "body": calculate_token("004",rig,"1553144847","dabdd97c","1578380254"),
        "body": event,
        "headers": {
            "Content-Type": "application/json"
        }
    }
  1. 在华为云中给这个函数配置一个触发器apig,配置后就有一个请求地址了,如

https://cccccccc.apig.cn-north-5.huaweicloudapis.com/my?my=6758

3.如何获取这个my的参数的值

其实这个参数就在even中,它是一个json格式数据,产品文档也有说明如下,

执行事件(event): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象

因此,直接在函数中print这个even就可以了,安置好代码后,直接通过apig的地址请求访问 https://cccccccc.apig.cn-north-5.huaweicloudapis.com/my?my=6758,在返回结果的queryStringParameters字段中可以看到请求参数