-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy paths.yaml
106 lines (100 loc) · 4.85 KB
/
s.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# ------------------------------------
# 欢迎您使用阿里云函数计算 FC 组件进行项目开发
# 组件仓库地址:https://github.com/devsapp/fc
# 组件帮助文档:https://www.serverless-devs.com/fc/readme
# Yaml参考文档:https://www.serverless-devs.com/fc/yaml/readme
# 关于:
# - Serverless Devs和FC组件的关系、如何声明/部署多个函数、超过50M的代码包如何部署
# - 关于.fcignore使用方法、工具中.s目录是做什么、函数进行build操作之后如何处理build的产物
# 等问题,可以参考文档:https://www.serverless-devs.com/fc/tips
# 关于如何做CICD等问题,可以参考:https://www.serverless-devs.com/serverless-devs/cicd
# 关于如何进行环境划分等问题,可以参考:https://www.serverless-devs.com/serverless-devs/extend
# 更多函数计算案例,可参考:https://github.com/devsapp/awesome/
# 有问题快来钉钉群问一下吧:33947367
# ------------------------------------
edition: 1.0.0
name: video-transcode
# access 是当前应用所需要的密钥信息配置:
# 密钥配置可以参考:https://www.serverless-devs.com/serverless-devs/command/config
# 密钥使用顺序可以参考:https://www.serverless-devs.com/serverless-devs/tool#密钥使用顺序与规范
access: "{{ access }}"
vars:
region: "{{ region }}"
service:
name: "{{ serviceName }}"
description: use ffmpeg to transcode video in FC
internetAccess: true
role: "{{ roleArn }}"
# logConfig: auto
services:
VideoTranscoder: # 业务名称/模块名称
component: fc # 组件名称,Serverless Devs 工具本身类似于一种游戏机,不具备具体的业务能力,组件类似于游戏卡,用户通过向游戏机中插入不同的游戏卡实现不同的功能,即通过使用不同的组件实现不同的具体业务能力
# actions: # 自定义执行逻辑,关于actions 的使用,可以参考:https://www.serverless-devs.com/serverless-devs/yaml#行为描述
# pre-deploy: # 在deploy之前运行
# - run: s version publish -a demo
# path: ./src
# - run: docker build xxx # 要执行的系统命令,类似于一种钩子的形式
# path: ./src # 执行系统命令/钩子的路径
# - plugin: myplugin # 与运行的插件 (可以通过s cli registry search --type Plugin 获取组件列表)
# args: # 插件的参数信息
# testKey: testValue
props:
region: ${vars.region}
service: ${vars.service}
function:
name: transcode
runtime: python3
Handler: index.handler
codeUri: ./code/transcode
memorySize: 8192
timeout: 7200
instanceType: c1
environmentVariables:
TZ: "{{ timeZone }}"
asyncConfiguration:
destination:
# onSuccess: acs:fc:::services/${vars.service.name}/functions/dest-succ
onFailure: acs:fc:::services/${vars.service.name}/functions/dest-fail
maxAsyncEventAgeInSeconds: 18000
maxAsyncRetryAttempts: 2
statefulInvocation: true
dest-succ: # 业务名称/模块名称
component: fc
props: # 组件的属性值
region: ${vars.region}
service: ${vars.service}
function:
name: dest-succ
description: 'async task destination success function by serverless devs'
runtime: python3
codeUri: ./code/succ
handler: index.handler
memorySize: 512
timeout: 60
dest-fail: # 业务名称/模块名称
component: fc
props: # 组件的属性值
region: ${vars.region}
service: ${vars.service}
function:
name: dest-fail
description: 'async task destination fail function by serverless devs'
runtime: python3
codeUri: ./code/fail
handler: index.handler
memorySize: 512
timeout: 60
# next-function: # 第二个函数的案例,仅供参考
# # 如果在当前项目下执行 s deploy,会同时部署模块:
# # helloworld:服务hello-world-service,函数cpp-event-function
# # next-function:服务hello-world-service,函数next-function-example
# # 如果想单独部署当前服务与函数,可以执行 s + 模块名/业务名 + deploy,例如:s next-function deploy
# # 如果想单独部署当前函数,可以执行 s + 模块名/业务名 + deploy function,例如:s next-function deploy function
# # 更多命令可参考:https://www.serverless-devs.com/fc/readme#文档相关
# component: fc
# props:
# region: ${vars.region}
# service: ${vars.service} # 应用整体的服务配置
# function: # 定义一个新的函数
# name: next-function-example
# description: 'hello world by serverless devs'