教程简介
本文介绍如何使用腾讯云的云函数功能, 创建两个函数, 实现定时将 CDN 的日志存储到 COS 中.
主要步骤
本教程将介绍如何创建 "存储" 函数和 "任务分发" 函数, 二者组合在一起并配置定制器触发, 即可实现定时将 CDN 的日志存储到 COS 中.
主要分为四个大步骤:
A, 准备云 API 的访问密钥和对象存储 COS 的相关信息
B, 创建存储函数 (cdn-save-log-into-cos)
C, 创建任务函数 (cdn-dispatch-log-jobs)
D, 配置定时器
教程正文
A, 在创建云函数之前, 你需要准备好以下资源
1, 云 API 的访问密钥.
请前往访问密钥管理页面 https://console.cloud.tencent.com/cam/capi , 查询或新建一个密钥, 并记录下 :
l 访问凭证的名称 SecretId, 例如 AKIDRVI54XXn10r58oZpmzbBOnwt47xO1LRv
l 访问凭证的密钥 SecretKey, 例如 3t0SYPHRIpjmAAUPfKM8b4yXnff4Aq56
2, 对象存储 COS 的存储桶 Bucket.
请前往对象存储管理页面 https://console.cloud.tencent.com/cos , 进入 [存储通列表] , 查询或新建一个存储桶, 进入存储桶查看 [基本信息] , 并记录下:
l 存储桶空间名称 BucketName, 例如 examples-1251002854
l 存储桶所属地域 Region, 例如 ap-chengdu
B, 创建存储函数 (cdn-save-log-into-cos)
1, 进入云服务函数的管理页面 https://console.cloud.tencent.com/scf , 点击 [新建] ;
2, 选择基于 [模板函数] , 并搜索关键字 "CDN", 选择 "下载 URL 文件并存储到 COS" 模板;
3, 函数名称填写 [cdn-save-log-into-cos] , 并点击下一步;
4, 接着点击 [完成] 创建好函数.
5, 接着进入该函数的 [函数配置] 标签页, 点击右侧 [编辑] 按钮;
6, 修改 [超时时间] 为 300 秒, 并保存.
7, 函数创建完毕.
C, 创建任务函数 (cdn-dispatch-log-jobs)
1, 进入 云服务函数的管理页面 https://console.cloud.tencent.com/scf , 点击 [新建] ;
2, 选择基于 [模板函数] , 并搜索关键字 "CDN", 选择 "下载 URL 文件并存储到 COS" 模板;
3, 函数名称填写 [cdn-dispatch-log-jobs] , 并点击下一步;
4, 接着点击 [完成] 创建好函数.
5, 接着进入该函数的 [函数配置] 标签页, 点击右侧 [编辑] 按钮;
6, 修改 [超时时间] 为 300 秒, 并保存.
7, 点击 [函数代码] 标签, 进入代码编辑框中修改 python 代码, 填写配置信息:
在第 134 行的 config 变量中, 填写对应的配置信息.
secret_id,secret_key,cos_region,cos_bucket,scf_region 等字段需填写;
scf_function 如果按教程中 B 步骤进行, 没有修改函数名字的话, 则保存原值即可.
cdn_host 的默认值为空数组 (即保存账号下所有域名的日志), 如有需要可以修改填入指定域名列表.
8, 点击 [保存] .
9, 点击 [测试] , 可以立即执行一次代码, 确认是否正常工作. 测试程序运行完毕后, 可以进入对象存储 COS 的管理页面, 查看对应的日志是否存储到 COS 汇总.
D, 配置定时器
上述两个函数创建完毕后, 函数服务管理页面的列表如下.
1, 点击 [cdn-dispatch-log-jobs] 进入详情页面;
2, 点击 [触发方式] 标签页, 并点击添加触发方式;
3, 选择触发方式为 [定时触发] , 填写任务名称 (随意), 触发周期为 [每 1 小时] , 并保存.
以上步骤, 全部配置完毕后, 即完成了本教程的任务目标.
来源: https://www.qcloud.com/developer/article/1438352