简介

该组件是 serverless-tencent 组件库中的基础组件之一。通过 CDN 组件,可以快速方便的创建,配置和管理腾讯云的 CDN 产品。

快速开始

1. 安装

通过 npm 安装 serverless

  1. $ npm install -g serverless

2. 配置

本地创建 serverless.yml 文件,在其中进行如下配置

  1. $ touch serverless.yml
  1. # serverless.yml
  2. MyCDN:
  3. component: '@serverless/tencent-cdn'
  4. inputs:
  5. host: abc.com
  6. hostType: cos
  7. origin: ww.test.com
  8. backupOrigin: ww.test.com
  9. serviceType: web
  10. fullUrl: on
  11. fwdHost: ww.test.com
  12. https:
  13. cert: 123
  14. privateKey: 123
  15. http2: off
  16. httpsType: 2
  17. forceSwitch: -2

3. 部署

如您的账号未登陆注册腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登陆和注册。

同时需要到 内容分发网络 开通该服务。

通过sls命令进行部署,并可以添加—debug参数查看部署过程中的信息

  1. $ sls --debug
  2. DEBUG Resolving the template's static variables.
  3. DEBUG ─ Collecting components from the template.
  4. DEBUG ─ Downloading any NPM components found in the template.
  5. DEBUG ─ Analyzing the template's components dependencies.
  6. DEBUG Creating the template's components graph.
  7. DEBUG ─ Syncing template state.
  8. DEBUG ─ Executing the template's components graph.
  9. DEBUG The CDN domain fullstack.yugasun.com has existed. Updating...
  10. DEBUG Waiting for CDN deploy success...
  11. DEBUG CDN deploy success to host: fullstack.yugasun.com
  12. DEBUG Setup https for fullstack.yugasun.com...
  13. MyCDN:
  14. host: fullstack.yugasun.com
  15. origin: rahbqkq-a81kuv2-1251556596.cos-website.ap-guangzhou.myqcloud.com
  16. hostId: 1714502
  17. https: true
  18. 100s MyCDN done

4. 移除

通过以下命令移除部署的 CDN 配置:

  1. $ sls remove --debug
  2. DEBUG Flushing template state and removing all components.
  3. DEBUG Start removing CDN for fullstack.yugasun.com
  4. DEBUG Waiting for offline fullstack.yugasun.com...
  5. DEBUG Removing CDN for fullstack.yugasun.com
  6. DEBUG Removed CDN for fullstack.yugasun.com.
  7. 73s MyCDN done

账号配置(可选)

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/秘钥信息,也可以本地创建 .env 文件

  1. $ touch .env # 腾讯云的配置信息

.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存

如果没有腾讯云账号,可以在此注册新账号

如果已有腾讯云账号,可以在API 密钥管理中获取 SecretIdSecretKey.

  1. # .env
  2. TENCENT_SECRET_ID=123
  3. TENCENT_SECRET_KEY=123

还支持哪些组件?

可以在 Serverless Components repo 中查询更多组件的信息。