文档管理中心

event对象

如果采用触发器的方式实现函数调用,在开发函数的入口方法时就需要遵循对应触发器的event对象字段要求。由于不同触发器传递给函数的event对象数据格式不一样,您需要根据触发器类型来进行对应的参数解析。各类触发器的event对象数据格式见下文。

HTTP触发器

示例:

{
    "path": "yourpath",
    "httpMethod": "POST",
    "headers": {"Content-Type": "application/json"},
    "queryStringParameters": "key1=value1&key2=value2",
    "body": {"request": "Hello World!"},
    "isBase64Encoded": true
}
展开

字段

说明

path

HTTP请求的触发URL的路径。

httpMethod

触发器请求方式,目前HTTP触发器仅支持POST事件请求方式。

headers

请求头,指明请求或描述消息,一般包含"authorization"、"content-length"、"x-tenant-id"、"x-business-id"、"x-product-id"、"content-type"、"connection"、"accept-encoding"等字段,可由您自定义。

queryStringParameters

查询参数,键值对形式,可以为多组。

body

请求数据的消息体,可由您自定义,JSON格式的字符串,最大为4MB。

注意

如果函数由应用客户端调用,在函数定义中需要在event.body获取应用客户端的传入的HTTP body体,再从body体中解析传入的参数值。

isBase64Encoded

消息体是否为base64编码的布尔值标识。

  • true:消息体为base64编码。
  • false:消息体为非base64编码。

云数据库触发器

  • 数据新增/更新操作

    示例:

    {
        "records": [
            {
                "before": {
                    "gender": "男",
                    "name": "方"
                },
                "after": {
                    "gender": "男",
                    "name": "孙"
                }
             }
        ],
        "objectTypeName": "EntityOne",
        "naturalStoreName": "AdminSdkZoneTest"
    }
    展开

    字段

    说明

    records

    包含全部字段的数据信息。

    • before:历史数据,新增数据时则为null。
    • after:新增或更新的数据。

    objectTypeName

    表名,要求30个字符内,可包含大写字母、小写字母、数字或者下划线,必须以大写或小写字母开头,不可包含特殊字符。

    naturalStoreName

    存储区名称,长度要求1-20个字符,可包含大写字母、小写字母或数字,不可包含特殊字符。

  • 数据删除操作

    示例:

    {
        "records": [
            {
                "id": 0
            }
        ],
        "objectTypeName": "EntityOne",
        "naturalStoreName": "AdminSdkZoneTest"
    }
    展开

    字段

    说明

    records

    被删除数据主键信息。

    objectTypeName

    表名,要求30个字符内,可包含大写字母、小写字母、数字或者下划线,必须以大写或小写字母开头,不可包含特殊字符。

    naturalStoreName

    存储区名称,长度要求1-20个字符,可包含大写字母、小写字母或数字,不可包含特殊字符。

  • 数据表清空操作

    示例:

    {
        "records": [],
        "objectTypeName": "EntityOne",
        "naturalStoreName": "AdminSdkZoneTest"
    }
    展开

    字段

    说明

    records

    数据记录(默认为空数组)。

    objectTypeName

    表名,要求30个字符内,可包含大写字母、小写字母、数字或者下划线,必须以大写或小写字母开头,不可包含特殊字符。

    naturalStoreName

    存储区名称,长度要求1-20个字符,可包含大写字母、小写字母或数字,不可包含特殊字符。

认证服务触发器

示例:

{
    "displayName":"Bob",
    "email":"xxxx@huawei.com",
    "emailVerified":0,
    "op":"2",
    "phone":"+86-13112345678",
    "photoUrl":"https://***.jpg",
    "productId":"258913027873071736",
    "providers":[{"provider":11,"uid":"448552213585866496"}],
    "uid":"671456524878745645"
} 
展开

字段

说明

displayName

用户昵称。

email

邮箱。

emailVerified

邮箱是否已验证。

  • 1:已验证
  • 0:未验证

op

触发器事件。

  • 0:用户注册
  • 1:用户销户
  • 2:用户登录
  • 3:用户登出

phone

手机号。

photoUrl

头像地址。

productId

项目ID。

providers

provider

认证方式。

  • 0:匿名账号
  • 1:华为账号
  • 2:FACEBOOK*
  • 3:TWITTER*
  • 4:微信
  • 5:华为游戏
  • 6:QQ
  • 7:微博
  • 8:GOOGLE*
  • 9:GOOGLE_PLAY_GAME*
  • 10:自建账号
  • 11:手机
  • 12:邮箱
  • 13:苹果账号
  • 18:支付宝账号
    说明

    带*号的账号类型仅在海外站点支持,当您选择默认数据处理位置为德国、新加坡或俄罗斯时可以使用这些认证方式。

uid

认证方式用户ID。

uid

用户ID。

远程配置触发器

示例:

{
    "productId": "98341621547927339",
    "op": "0",
    "uid": "890086000000003089",
    "appId":"101022605"
}
展开

字段

说明

productId

产品ID。

op

触发器事件。目前仅支持更新事件,值为0。

uid

用户ID。

appid

应用ID。

云存储触发器

示例:

{
    "bucketName":"aaaa-9ww7j",
    "eventName":"storage.upload.completed",
    "functionId":"wisefunction:cn:agc:630086000000487293@98654408178409921:function:demo:$latest",
    "key":"object0001.txt",
    "productId":"98654408178409925",
    "size":"558",
    "teamId":"630086000000487295"
}
展开

字段

说明

bucketName

存储实例名。

eventName

事件名。

  • storage.upload.completed:上传文件。
  • storage.file.delete:删除文件。

functionId

函数ID。

key

文件名。

productId

项目ID

size

文件大小。单位为字节,文件最大为50GB。

teamId

团队ID。

定时触发器

示例:
{
     "key1": "value1",
     "key2": "value2",
     …
}

定时触发器传递到event中的格式取决于创建触发器时填写的“事件值”,事件值非必填。

在 指南 中进行搜索
请输入您想要搜索的关键词