{"id":13498598,"url":"https://github.com/serverless-components/tencent-scf","last_synced_at":"2025-04-04T15:32:06.524Z","repository":{"id":36209834,"uuid":"215679295","full_name":"serverless-components/tencent-scf","owner":"serverless-components","description":"Deploy Tencent Cloud Serverless Cloud  Function in seconds with Serverless Components. ","archived":false,"fork":false,"pushed_at":"2022-08-05T10:18:08.000Z","size":527,"stargazers_count":99,"open_issues_count":7,"forks_count":30,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-20T14:56:10.163Z","etag":null,"topics":["cloud","cloud-function","serverless","serverless-framework","tencent","tencent-cloud"],"latest_commit_sha":null,"homepage":"https://www.serverless.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serverless-components.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-17T01:44:37.000Z","updated_at":"2024-02-29T14:19:58.000Z","dependencies_parsed_at":"2022-08-08T13:45:57.969Z","dependency_job_id":null,"html_url":"https://github.com/serverless-components/tencent-scf","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless-components%2Ftencent-scf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless-components%2Ftencent-scf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless-components%2Ftencent-scf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless-components%2Ftencent-scf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverless-components","download_url":"https://codeload.github.com/serverless-components/tencent-scf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247202999,"owners_count":20900889,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","cloud-function","serverless","serverless-framework","tencent","tencent-cloud"],"created_at":"2024-07-31T21:00:37.671Z","updated_at":"2025-04-04T15:32:01.517Z","avatar_url":"https://github.com/serverless-components.png","language":"JavaScript","funding_links":[],"categories":["组件"],"sub_categories":[],"readme":"[![Serverless Components](https://img.serverlesscloud.cn/202047/1586246008932-Tencent%20SCF_%E9%95%BF.png)](http://serverless.com)\n\n\u003cbr/\u003e\n\n## 组件概述\n\n**腾讯云 SCF 云函数组件**通过使用 [Tencent Serverless Framework](https://github.com/serverless/components/tree/cloud)，基于云上 Serverless 服务（云函数及触发器等），实现“0”配置，便捷开发，极速部署您的第一个云函数，该组件支持丰富的配置扩展，提供了目前最易用、低成本并且弹性伸缩的云函数的开发、配置及部署能力。\n\n## 快速入门\n\n### 前提条件\n\n- 已安装 Serverless Framework（参考 [安装 Serverless Framework](https://cloud.tencent.com/document/product/1154/42990)）\n- 账号开通 Serverless 相关权限（参考 [账号和权限配置](https://cloud.tencent.com/document/product/1154/43006)）\n\n### 操作步骤\n\n#### 创建\n\n- 方式一：按照 [快速部署](https://cloud.tencent.com/document/product/1154/41775) 操作，选择 SCF 项目模板进行创建。\n- 方式二：直接使用 `serverless init` 命令创建。快速创建一个 nodejs 的 SCF 示例：\n\n```bash\n$ serverless init scf-starter --name example\n$ cd example\n```\n\n\u003e **说明**：命令中的 `scf-starter` 可以更换成其他语言模板。目前 SCF 组件支持的模板有：`scf-golang`、`scf-nodejs`、`scf-php`、`scf-python`。\n\n#### 部署\n\n在 `serverless.yml` 文件所在的项目根目录，运行以下指令，将会弹出二维码，直接扫码授权进行部署:\n\n```\nserverless deploy\n```\n\n可以通过添加 inputs 参数设置预置并发，例如：为版本 1 设置 4 个预置并发(如果不指定版本会新发布一个版本，并为新版本设置并发)\n\n```\nserverless deploy --inputs provisionedNum=4 qualifier=1\n```\n\n\u003e **说明**：如果鉴权失败，请参考 [权限配置](https://cloud.tencent.com/document/product/1154/43006) 进行授权。\n\n#### 查看\n\n执行以下命令，查看您部署的项目信息：\n\n```\nserverless info\n```\n\n#### 移除\n\n执行以下命令，移除您已经部署的项目：\n\n```\nserverless remove\n```\n\n## 进阶指导\n\n### serverless.yml\n\n执行 `serverless deploy` 时，根据 serverless.yml 文件中的配置对云函数资源进行创建或更新。一份简单的 serverlesss.yml 文件如下：\n\n\u003e **说明**：配置详情请参考 [全量配置文档](https://github.com/serverless-components/tencent-scf/blob/master/docs/configure.md)。\n\n```\ncomponent: scf # (必填) 引用 component 的名称，当前用到的是 tencent-scf 组件\nname: scfdemo # (必填) 创建的实例名称，请修改成您的实例名称\n\n#组件参数\ninputs:\n  name: ${name}-${stage}-${app} #函数名称\n  src: ./  #代码路径\n  type: 'web' # 部署Web函数时需指定该值\n  handler: index.main_handler #入口（部署非Web函数时生效）\n  runtime: Nodejs10.15 # 云函数运行时的环境\n  region: ap-guangzhou # 云函数所在区域\n  events: # 触发器\n    - apigw: # 网关触发器\n        parameters:\n          endpoints:\n            - path: /\n              method: GET\n```\n\nserverless.yml 文件包含的信息：\n\n#### 组件信息\n\n| 组件名    | 是否必选 | 说明                                                              |\n| --------- | -------- | ----------------------------------------------------------------- |\n| component | 必填     | component 的名称，使用`serverless registry`查询您可以引入的组件。 |\n| name      | 必填     | 创建的实例名称，每个组件在部署时将创建一个实例。                  |\n\n#### 参数信息\n\ninputs 下的参数为组件配置参数。一个最简单 SCF 组件参数配置由以下几部分：\n\n| 参数名    | 说明                                                                                                                                        |\n| --------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| name      | 云函数名称。由于云函数又是资源 ID，为了保证资源的唯一性，建议采用 `${name}-${stage}-${app}` 变量方式。                                      |\n| src       | 代码路径。                                                                                                                                  |\n| type      | 函数类型，默认为事件函数。支持的类型为：event（事件函数），web（Web 函数）。                                                                |\n| handler   | 函数处理方法名称 。                                                                                                                         |\n| entryFile | 函数入口文件名。（函数类型为 web 且无 scf_bootstrap 文件时生效）                                                                            |\n| runtime   | 云函数运行环境，目前支持： Python2.7、Python3.6、Nodejs6.10、Nodejs8.9、Nodejs10.15、Nodejs12.16、PHP5、PHP7、Go1、Java8 和 CustomRuntime。 |\n| region    | 云函数所在的区域。                                                                                                                          |\n| events    | 触发器。 支持的触发器为：timer、apigw、cos、cmq、ckafka 。                                                                                  |\n\n### 账号权限\n\n部署实例时需要账号授权去操作具体的云资源，目前可以通过两种方式进行授权：**扫码授权**和**密钥授权**。\n\n- **扫码授权**：能快速进行授权部署，但生成的凭证是临时凭证，过期后需要重新扫码。\n- **密钥授权**：能够获得永久授权，需要预先配置账号的 SecretId 和 SecretKey 。\n\n配置详情可参考 [权限配置](https://cloud.tencent.com/document/product/1154/43006)。\n\n### 开发调试\n\n在 `serverless.yml`文件所在的目录下运行 `serverless dev` 可以实时输出云端日志，每次部署完毕后，对项目进行访问，即可在命令行中实时输出调用日志，便于查看业务情况和排障。nodejs 支持开启开发调试能力，将会对本地代码的改动进行检测和自动上传。详情请参考 [开发与调试](https://cloud.tencent.com/document/product/1154/43220)。\n\n### 应用管理\n\nServerless 部署一个组件实例实质是部署了一个单组件实例的应用。\n\n在应用项目开发过程中，一个应用下可能会存在多个组件实例，如何管理组件实例进行应用项目开发，请参考 [应用管理](https://cloud.tencent.com/document/product/1154/48261)。\n\n## 其他命令\n\n[其他命令](./docs/command.md)\n\n## License\n\nMIT License\n\nCopyright (c) 2020 Tencent Cloud, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless-components%2Ftencent-scf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverless-components%2Ftencent-scf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless-components%2Ftencent-scf/lists"}