全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

CloudEvents信息格式规范说明

最近更新时间:2022-05-06 16:51:27

事件源(这里指的是KS3)发布事件到KCF需要按照CloudEvents规范。关于CloudEvents规范的更多信息,请参见CloudEvents 1.0

以下是事件源发布到云函数KCF的示例事件。

{
  "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
    "source": "kcs:ks3",
    "type": "ks3:ObjectCreated:PutObject",
    "specversion": "1.0",
    "datacontenttype": "application/json",
    "subject": "/cc",
    "extensions": {
        "region": "BEIJING",
        "eventversion": "1.0",
        "userid": "73400852",
        "accountid": "73404680"
    },
    "data": {
        "request": {
            "sourceIPAddress": "127.0.0.1"
        },
        "response": {
            "requestId": "daab11b695ea4c4ea7a1a71ce36d1100"
        },
        "ks3": {
            "bucket": {
                "name": "kcf-pj",
                "ownerid": "73404680"
            },
            "object": {
                "internalurl": "evt-jinyw.ks3-cn-beijing-internal.ksyuncs.com/ssssss.jpg",
                "etag": "etag-xxxxxxx",
                "objectsize": "1024",
                "url": "evt-jinyw.ks3-cn-beijing.ksyuncs.com/ssssss.jpg",
                "key": "ssssss.jpg"
            }
        }
    }
}

CloudEvents参数说明

事件函数中涉及的CloudEvents参数说明如下所示:

参数 类型 是否必选 示例值 说明
id String 45ef4dewdwe1-7c35-447a-bd93-fab**** 事件ID。标识事件的唯一值。事件通过规则路由到目标,可根据id跟踪事件。
source String kcs:ks3 事件源。提供事件的服务
type String ks3:ObjectCreated:PutObject 事件类型。描述事件源相关的事件类型。
datacontenttype String application/json 参数data的内容形式
specversion String 1.0 CloudEvents协议版本。
subject String /cc 事件主题
extensions Struct 见表格下方extensions结构体 扩展属性,用于存放账号、地域等公共属性。
data Struct 见表格下方data结构体 事件内容。JSON对象,内容由发起事件的服务决定。CloudEvents可能包含事件发生时由事件生产者给定的上下文,data中封装了这些信息。

extensions结构体

 {
        "region": "BEIJING",
        "eventversion": "1.0",
        "accountid": "7320"
 }

data结构体

{
        "request": {
            "sourceIPAddress": "127.0.0.1"
        },
        "response": {
            "requestId": "daab11b695ea4c4ea7a1a71ce36d1100"
        },
        "ks3": {
            "bucket": {
                "name": "kcf",
                "ownerid": "7340"
            },
            "object": {
                "internalurl": "evt.ks3-cn-beijing-internal.ksyuncs.com/ssssss.jpg",
                "etag": "etag-xxxxxxx",
                "objectsize": "1024",
                "url": "evt.ks3-cn-beijing.ksyuncs.com/ssssss.jpg",
                "key": "ssssss.jpg"
            }
        }
}

Cloudevents对象模型示例

Java

import lombok.Data;

@Data
public class Ks3CloudEventData {
    RequestData request;
    ResponseData response;
    Ks3Data ks3;

}

@Data
public class Ks3Data {
    Bucket bucket;
    DataObject object;
}

@Data
public class Bucket {
    String name;
    String ownerid;
}

@Data
public class DataObject {
    String internalurl;
    String etag;
    String objectsize;
    String url;
    String key;
}


@Data
public class RequestData {
    String sourceIPAddress;
}

@Data
public class ResponseData {
    String requestId;
}
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈