简介

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

快速开始

通过 API 网关组件,对一个 API 服务/接口进行完整的创建,配置,部署和删除等操作。支持命令如下:

1. 安装

通过 npm 安装 serverless

  1. $ npm install -g serverless

2. 配置

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

  1. $ touch serverless.yml
  1. # serverless.yml
  2. restApi:
  3. component: '@serverless/tencent-apigateway'
  4. inputs:
  5. region: ap-shanghai
  6. protocol: http
  7. serviceName: serverless
  8. environment: release
  9. endpoints:
  10. - path: /users
  11. method: POST
  12. function:
  13. functionName: myFunction

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 Starting API-Gateway deployment with name restApi in the ap-shanghai region
  10. DEBUG Service with ID service-g1ihx7c7 created.
  11. DEBUG API with id api-4dv8r7wg created.
  12. DEBUG Deploying service with id service-g1ihx7c7.
  13. DEBUG Deployment successful for the api named restApi in the ap-shanghai region.
  14. restApi:
  15. protocol: http
  16. subDomain: service-g1ihx7c7-1300415943.ap-shanghai.apigateway.myqcloud.com
  17. environment: release
  18. region: ap-shanghai
  19. serviceId: service-g1ihx7c7
  20. apis:
  21. -
  22. path: /users
  23. method: POST
  24. apiId: api-4dv8r7wg
  25. 24s restApi done

4. 移除

通过以下命令移除部署的 API 网关

  1. $ sls remove --debug
  2. DEBUG Flushing template state and removing all components.
  3. DEBUG Removing any previously deployed API. api-4dv8r7wg
  4. DEBUG Removing any previously deployed service. service-g1ihx7c7
  5. 13s restApi 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 中查询更多组件的信息。