完成CDN事件触发器后,您可以开始写入函数代码。本文介绍如何使用函数计算控制台编写函数,实现CDN事件触发函数计算转存CDN离线日志。
前提条件
操作步骤
event格式说明
event是函数计算的入口参数,具体格式为如下。其中,对于不同的CDN事件类型,
eventParameter中包含的键值对不同。
eventParameter中包含的键值对不同。
{
"events": [
{
"eventName": "LogFileCreated",//事件类型
"eventSource": "cdn",//事件源名称
"region": "cn-hangzhou",//地域,默认为“cn-hangzhou”。
"eventVersion": "1.0.0",//事件版本
"eventTime": "2018-06-14T15:31:49+08:00",//事件发生时间
"traceId": "c6459282-6a4d-4413-894c-e4ea39686738" //事件源传递过来的ID,用于排查问题。
"userIdentity": {
"aliUid": "1xxxxxxxxxxxx" //用户ID
},
"resource": {
"domain": "example.com"//域名
},
"eventParameter": {
"key": "value"
},
}
]
}
- LogFileCreated事件的event示例。
替换
filePath
为您CDN日志的路径,或任何测试文件。{ "events": [ { "eventName": "LogFileCreated",//事件类型 "eventSource": "cdn",//事件源名称 "region": "cn-hangzhou",//地域,默认为“cn-hangzhou”。 "eventVersion": "1.0.0",//事件版本 "eventTime": "2018-06-14T15:31:49+08:00",//事件发生时间 "traceId": "c6459282-6a4d-4413-894c-e4ea39686738" //事件源传递过来的ID,用于排查问题。 "userIdentity": { "aliUid": "1xxxxxxxxxxxx" //用户ID }, "resource": { "domain": "example.com"//域名 }, "eventParameter": { "domain": "example.com",//域名 "endTime": 1528959900,//日志文件的结束时间 "fileSize": 1788115,//日志文件大小 "filePath": "http://cdnlog.cn-hangzhou.oss.aliyun-inc.com/www.aliyun.com/2017_12_27/www.aliyun.com_2017_12_27_0800_0900.gz?OSSAccessKeyId=xxxx&Expires=xxxx&Signature=xxxx",//日志文件地址 "startTime": 1528959600//日志文件的起始时间 }, } ] }
- CachedObjectsRefreshed、CachedObjectsPushed和CachedObjectsBlocked事件的event示例。
{ "events": [ { "eventName": "CachedObjectsRefreshed",//事件类型 "eventVersion": "1.0.0", // 事件版本,目前都是1.0.0版本。 "eventSource": "cdn", // 事件源名称 "region": "cn-hangzhou", // 地域,默认为"cn-hangzhou"。 "eventTime": "2018-03-16T14:19:55+08:00",//事件发生时间 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e25acf",//事件源传递过来的ID,用于排查问题 "resource": { "domain": "example.com"//资源所在的域名 }, "eventParameter": { "objectPath": [ "/2018/03/16/13/33b430c57e7.mp4",//资源标识 "/2018/03/16/14/4ff6b9bd54d.mp4"//资源标识 ], "createTime": 1521180769,//刷新开始时间 "domain": "example.com",//资源所在的域名 "completeTime": 1521180777,//刷新结束时间 "objectType": "File", //刷新类型,取值为File,Directory "taskId": 2089687230 //资源刷新任务ID }, "userIdentity": { "aliUid": "1xxxxxxxxxx" //用户ID } } ] }
- CdnDomainStarted和CdnDomainStopped事件的event示例。
{ "events": [ { "eventName": "CdnDomainStarted", //事件类型 "eventVersion": "1.0.0", //事件版本 "eventSource": "cdn", //事件源名称 "region": "cn-hangzhou", //区域,默认为“cn-hangzhou”。 "eventTime": "2018-03-16T14:19:55+08:00",//事件发生时间 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e25acf",//事件源传递过来的ID,用于排查问题。 "resource": { "domain": "chongshi.alicdn.com" }, "eventParameter": { "domain": "chongshi.alicdn.com", "status": "online" //Domain状态 }, "userIdentity": { "aliUid": "12345678"//用户ID } } ] }
- CdnDomainAdded和CdnDomainDeleted事件的event示例。
{ "events": [ { "eventName": "CdnDomainStarted", //事件类型 "eventVersion": "1.0.0", //事件版本 "eventSource": "cdn", //事件源名称 "region": "cn-hangzhou", //地域,默认为“cn-hangzhou”。 "eventTime": "2018-03-16T14:19:55+08:00",//事件发生时间 "traceId": "cf89e5a8-7d59-4bb5-a33e-4c3d08e25acf",//事件源传递过来的ID,用于排查问题。 "resource": { "domain": "chongshi.alicdn.com" }, "eventParameter": { "domain": "chongshi.alicdn.com", }, "userIdentity": { "aliUid": "12345678"//用户ID } } ] }