• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
  • Created over 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

demo for serverless

腾讯云 Serverless 模版库。

模版说明

文件组织结构

Node.js

|-- Nodejs6.10-helloworld    文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml      函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- index.js         函数入口文件,必填。
|       `-- node_modules     依赖包,非必填。

Python

|-- Python2.7-helloworld     文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml       函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- index.py         函数入口文件,必填。

Php

|-- Php7.2-helloworld        文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml       函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- index.php        函数入口文件,必填。

Golang1

|-- Go1-helloworld           文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml       函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- main             函数入口文件,必填,Golang1 入口文件须为可执行文件。

Java8

|-- Java8-helloworld         文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml       函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- Java8-helloworld 函数入口文件,必填,Java8 入口文件须为 jar 包,jar 包文件名称须和模版名称一致。

CustomRuntime

|-- CustomRuntime-helloworld 文件夹名称,也作为模版名称,最好和 config.json 中 serverless-cloud-function-application::English::name 一致。
|   |-- config.json          模版配置文件,用于控制台模版详情展示,必填。
|   |-- serverless.yml       函数配置文件,用于控制台解析模版函数配置,必填。
|   |-- readme.md            模版使用说明,建议填写。
|   |-- src                  模版函数代码,函数入口文件及其他代码文件均放在该目录下。
|       |-- bootstrap        Custom Runtime 固定的可执行引导程序文件,必填。
|       |-- index.sh         函数入口文件,必填,入口文件后缀跟随实际运行环境。

模版配置文件 config.json 说明

注意:

  1. config.json 中,English name 不要包含空格,该字段会作为模版创建函数时的默认函数名称,English name 包含空格会导致函数创建失败。
  2. config.json 中,English name 创建后不支持修改,请谨慎填写。
  3. 更新函数模版请同时更新 config.json 中的 version,否则会导致模版更新失败。
{
    "serverless-cloud-function-application": {
        "Chinese":{
            "name": "模版中文名称",                   #请填写模版中文名称,如果是java模版,必须和jar文件的名称一致,其他语言不做限制。前台需要展示,请认真填写,名称要具有一定的意义,名称里统一剥离掉runtime。
            "description": "模版中文描述",            #模版描述,主要是介绍该模版的用途、用法、涉及到的关键技术等,用户可以通过该关键字搜索。前台需要展示,请认真填写,支持中文。
            "attention": "模版使用的注意事项,中文",    #模版使用的注意事项,在模板查看详情里展示。
            "author": {
                "name": "作者"                       #作者
            }
        },
        "English":{
            "name": "DemoEnglishName",                       # 英文名称确定后不可修改且需要所有 demo 唯一,建议填写文件夹名称(去掉runtime)信息。例如:文件夹名称“Python3.6-newdemo”,英文名称为“newdemo”。This is the English name of demo. If it is java demo. Please keep the same name with jar package. No restrictions for non-java demos. Please do not add runtime information in the name.
            "description": "Demo English description.",      # The description of demo. You can describe the detail function.
            "attention": "The description of precautions.",  # The precautions for using the template will be shown in the view details.
            "author": {
                "name": "English Name"                       # author English Name
            }
        },
        "runtime": "Python2.7",                      #运行环境,用户可以通过该关键字搜索,请在下述已经支持的运行环境中选择一个填入。前台需要展示,请认真填写。["Python3.6","Python2.7","Node.js12.16","Node.js10.15","Node.js8.9","Nodejs6.10","Php7","Php5","Java8","Golang1","CustomRuntime"]
        "type": "event",                             #模版类型,事件函数填event,web函数填web,应用填app。前台需要展示,请认真填写。填写错误可能导致模版部署异常。
        "readme":"模版的git地址",                      #模版同步的唯一标识,必填。
        "version": "1.0.0",                          #版本号,通过版本号校验模版更新情况,未修改版本号会导致模版无法同步更新到控制台。
        "tags":[
            "Python2.7", "COS", "HTML"
        ]                                            #标签统一为英文,可编写多个,建议第一个标签为runtime,其他标签为触发器、场景等关键字,不同标签之间用英文逗号间隔,用户可以通过该关键字搜索。前台需要展示,请认真填写,不支持中文。
    }
}

函数配置文件 serverless.yml 说明

component: scf                                      #函数模版填scf,必填
name: ap-guangzhou_default_helloworld               #可参考示例填写,必填,不会在控制台展示
inputs:
  name: helloworld                                  #模版名称,与 config.json 中 English name 一致,必填
  src:
    src: ./src                                      #填./src,必填
  handler: index.main_handler                       #函数入口 handler,必填
  runtime: Nodejs10.15                              #函数runtime,必填
  namespace: default                                #可参考示例填写,必填,不会在控制台展示
  region: ap-guangzhou                              #可参考示例填写,必填,不会在控制台展示
  memorySize: 128                                   #函数配置内存,必填,会作为使用该模版创建函数时的默认值
  timeout: 3                                        #函数执行超时时间,必填,会作为使用该模版创建函数时的默认值
  environment:                                      #环境变量,选填,如模版代码依赖环境变量则需要填写,会作为使用该模版创建函数时的默认值,value 值请填写对应的环境变量含义
    - key: region
      value: the region of target bucket
    - key: target_bucket
      value: target bucket name
    - key: target_path
      value: path of target bucket
  triggers:                                         #API网关触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
    - type: apigw
      name: SCF_API_SERVICE
      protocols:
        - http
        - https
      environment: release
      netTypes:
        - OUTER
      apis:
        - path: /AddTextToPictures
          method: ANY
          function:
            isIntegratedResponse: true
    - type: cls                                    #CLS触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
    - type: cos                                    #COS触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
      enable: true
      bucket: 
      events: 'cos:ObjectCreated:*'                     
    - type: ckafka                                 #Ckafka触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
      name: 
      enable: true
      topic: 
      maxMsgNum: 50
      offset: latest
      retry: 10000
    - type: cmq                                    #CMQ触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
      enable: true
    - type: mps                                    #MPS触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
      enable: true
    - type: timer                                  #定时触发器配置,选填,如模版代码运行依赖触发器则需要填写,会作为使用该模版创建函数时的默认触发器配置
      cronExpression: 0 0 */1 * * * *
      enable: true
      argument: argument

函数入口 handler 写法:

  • 一段式:Golang,预置内容:"main"
  • 二段式:Python,Nodejs,Php,预置内容:"index.main_handler"
  • 三段式:Java,预置内容:"example.Hello::mainHandler"

模版开发注意事项

  1. 注意代码提交时不要带有 SecretID,SecretKey 等敏感信息。
  2. 关键信息可修改为通过环境变量读取,并定义好所需配置的环境变量。
  3. 模版描述尽量使用中文,简洁扼要的描述模版的实现功能,可适用的场景,使用的方式。
  4. 每个模版的英文名称必填且唯一,不同开发语言可以一样。

自定义模版提交到模版库

请参照:https://blog.csdn.net/qq_33429968/article/details/62219783

More Repositories

1

qcloud-documents

腾讯云官方文档
HTML
2,548
star
2

wafer

Wafer - 快速构建具备弹性能力的微信小程序
2,170
star
3

TRTCSDK

腾讯云TRTC音视频服务,国内下载镜像:
C++
1,210
star
4

wafer2-startup

Wafer - 腾讯云下一代小程序综合解决方案
JavaScript
1,022
star
5

MLVBSDK

移动直播 SDK,国内下载镜像:
Objective-C
775
star
6

wafer-client-demo

Wafer - 企业级微信小程序全栈方案
JavaScript
507
star
7

wafer2-quickstart

Wafer2 腾讯云一站式小程序解决方案
411
star
8

wafer2-quickstart-nodejs

Wafer2 Node.js 简化版 Demo
JavaScript
363
star
9

wafer-client-sdk

Wafer - 快速构建具备弹性能力的微信小程序
JavaScript
340
star
10

cos-js-sdk-v5

腾讯云 COS JS SDK(XML API)
JavaScript
329
star
11

wafer2-node-sdk

Wafer2 SDK for Node.js
JavaScript
270
star
12

wafer-java-server-sdk

Wafer - 企业级微信小程序全栈方案
Java
261
star
13

wafer-php-server-sdk

Wafer - 企业级微信小程序全栈方案
PHP
254
star
14

cos-nodejs-sdk-v5

腾讯云 COS Nodejs SDK(XML API)
JavaScript
233
star
15

wafer2-client-sdk

Wafer client SDK
JavaScript
225
star
16

cos-go-sdk-v5

腾讯云 COS GO SDK(XML API)
Go
211
star
17

qcloud-cos-sts-sdk

QCloud COS STS SDK for Backend Server
Java
200
star
18

wecos

WeCOS——微信小程序 COS 瘦身解决方案
JavaScript
199
star
19

wafer-node-server-demo

Wafer - 企业级微信小程序全栈方案
JavaScript
197
star
20

clb-quic-demo

clb team contribute
Java
196
star
21

wafer2-quickstart-php

Wafer2 PHP 简化版 Demo
PHP
189
star
22

cos-wx-sdk-v5

腾讯云 COS 小程序 SDK(XML API)
JavaScript
189
star
23

cos-php-sdk-v5

cos-php-sdk-v5
PHP
167
star
24

weapp-doc

小程序配置指引、升级方案
165
star
25

TUICallKit

a video calls uikit, include 1v1 calls、group calls etc.
Swift
164
star
26

cos-python-sdk-v5

Python
160
star
27

cos-java-sdk-v5

java sdk for qcloud cos v5 (xml api)
Java
139
star
28

wafer-php-server-demo

Wafer - 企业级微信小程序全栈方案
PHP
138
star
29

wafer-node-server-sdk

Wafer - 企业级微信小程序全栈方案
JavaScript
132
star
30

cosfs

C++
119
star
31

TUIRoomKit

Multi-person Video Conversation uikit, used for various scenarios such as Work Collaboration, Remote Medical, and Online Education.
Java
115
star
32

tencentcloud-exporter

TencentCloud Prometheus Exporter
Go
109
star
33

blog

Blog to share events or technique topics
109
star
34

wafer-csharp-server-sdk

Wafer - 企业级微信小程序全栈方案
C#
93
star
35

wecos-ugc-upload-demo

WeCOS-UGC-DEMO资源上传示例
JavaScript
90
star
36

tsf-simple-demo

Tencent Service Framework Demo
Java
85
star
37

TUILiveRoom

腾讯云TRTC针对直播、语聊、视频通话等推出的低代码解决方案~
Java
84
star
38

LiteAVProfessional_Android

84
star
39

scfcli

serverless cli
Python
84
star
40

image-java-sdk-v2.0

Java
84
star
41

TWebLive

Vue
82
star
42

hadoop-cos

hadoop-cos(CosN文件系统)为Apache Hadoop、Spark以及Tez等大数据计算框架集成提供支持,可以像访问HDFS一样读写存储在腾讯云COS上的数据。同时也支持作为Druid等查询与分析引擎的Deep Storage
Java
82
star
43

wafer-node-session

Standalone node session middleware for wechat micro application
JavaScript
81
star
44

wafer2-aai-nodejs

腾讯云小程序解决方案语音识别 Node.js Demo
JavaScript
73
star
45

cos_migrate_tool_v5

Java
67
star
46

TIC

腾讯云互动课堂
C++
65
star
47

coscmd

Python
63
star
48

scf-go-lib

scf go lib
Go
55
star
49

cos-js-sdk-v4

腾讯云 COS JS SDK(JSON API)
JavaScript
50
star
50

cos-cpp-sdk-v5

C++
47
star
51

iot-device-java

IoT Hub & Explorer 设备端 SDK (Java & Android)
Java
46
star
52

imsdk_restapi-php-sdk

IMSDK-PhpServerSDK使用说明 https://www.qcloud.com/doc/product/269/1538
PHP
43
star
53

cos-php-sdk-v4

Php SDK for COS v4
PHP
43
star
54

tls-sig-api-v2-java

Java
42
star
55

qcloud-sdk-dotnet

C#
42
star
56

TencentIMFlutterDemo

腾讯云即时通信IMdemo
Dart
42
star
57

scf-demo-repo

Python
42
star
58

LiteAVProfessional_iOS

Objective-C
40
star
59

iot-link-android

IoT 应用端 App & SDK
Kotlin
40
star
60

cos-python-sdk-v4

Python SDK for COS v4
Python
39
star
61

TUIVoiceRoom

腾讯云TRTC针对直播、语聊、视频通话等推出的低代码解决方案~
Java
39
star
62

cos-ftp-server-V5

腾讯云对象存储(COS-V5)的FTP Server
Python
37
star
63

tc-iot-at-sdk-stm32-freertos-based-example

tc-iot-at-sdk-stm32-freertos-based-example 面向使用支持腾讯AT指令的模组(2/3/4/5G、NB、WIFI等)接入腾讯物联网平台的终端设备开发者,mcu侧使用[腾讯AT_SDK]的移植示例,示例基于STM32F103 MCU和FreeRTOS的软硬件环境如何实现HAL层的移植。
C
37
star
64

wafer2-ci-nodejs-demo

Wafer2 万象优图图像识别 Node.js Demo
JavaScript
36
star
65

vod-js-sdk-v6

TypeScript
36
star
66

coscli

Go
36
star
67

qcloud-iotexplorer-appdev-miniprogram-sdk-demo

36
star
68

vod-xiaoshipin-server

腾讯云小视频APP后台代码
JavaScript
33
star
69

tls-sig-api-v2-php

tls sig api version 2 php
PHP
32
star
70

XiaoZhiBo

Swift
32
star
71

flink-cos-fs

Flink-cos-fs 是腾讯云对象存储系统COS针对Flink的文件系统实现,并且支持了recoverwriter接口。
Java
31
star
72

cos-java-sdk-v4

java sdk for cos v4
Java
31
star
73

qcloud-sdk-ios

腾讯云服务iOS终端SDK
Objective-C
31
star
74

intlcloud-documents

腾讯云国际站官方文档
HTML
30
star
75

qcloud-sdk-android-samples

腾讯云服务Android SDK samples
Java
30
star
76

iot-device-android

IoT Hub & Explorer 设备端 SDK (Java & Android)
Java
29
star
77

tencent-cloud-iotsuite-embedded-c

This project is deperecated, pleases visit: https://github.com/tencentyun/qcloud-iot-explorer-sdk-embedded-c
29
star
78

cos-snippets

COS 官方文档的代码片段
Java
28
star
79

TRTCFlutterScenesDemo

腾讯云实时音视频Flutter版场景Demo
Dart
28
star
80

cos-wx-sdk-v4

腾讯云 COS 微信小程序 SDK(JSON API)
JavaScript
28
star
81

serverless-tencent-scf

Serverless framework provider plugin for Tencent SCF(Serverless Cloud Function)
TypeScript
27
star
82

tsf-go

Go
27
star
83

qcloud-iot-sdk-tencent-at-based

qcloud-iot-sdk-tencent-at-based 面向使用支持腾讯AT指令的模组(2/3/4/5G、NB、WIFI等)接入腾讯物联网平台的终端设备开发者
C
27
star
84

cloudgame-android-sdk

云游戏 Android SDK https://cloud.tencent.com/solution/gs
Java
27
star
85

cmq-java-sdk

Tencent CMQ JAVA SDK
Java
24
star
86

wafer2-game-quickstart-php

Wafer2 微信小游戏快速开发 Demo
PHP
24
star
87

qcloud-iot-sdk-for-stm32withfreeRTOS-example

腾讯云IOT SDK基于stm32+freeRTOS的移植示例,硬件环境为云+开发者大会提供的卡牌开发板
C
23
star
88

cos-java-sdk

对象存储服务(Cloud Object Service)Java SDK使用说明
Java
22
star
89

TUIChorus

腾讯云TRTC针对直播、语聊、视频通话等推出的低代码解决方案~
Java
21
star
90

iotexplorer-h5-panel-demo

腾讯连连自定义 H5 面板 demo
TypeScript
21
star
91

imApiFlutterExample

腾讯云即时通信IM Flutter SDK API Example
Dart
20
star
92

cos-python-sdk

对象存储服务(Cloud Object Service)Python SDK使用说明
Python
20
star
93

tls-sig-api-php

PHP
20
star
94

qcloud-sdk-android

Tencent Cloud COS Android SDK Repository.
Java
20
star
95

cos-php-sdk

对象存储服务(Cloud Object Service)PHP SDK使用说明
PHP
20
star
96

tls-sig-api-java

Java
19
star
97

cmq-java-tcp-sdk

cmq tcp java sdk
Java
19
star
98

iot-link-ios

IoT 应用端 App & SDK
Objective-C
19
star
99

cos-donet-sdk-v4

cos-donet-sdk-v4
C#
18
star
100

qcloud-iot-sdk-android

[DEPRECATED] 请移步至:
Java
18
star