forked from devsapp/fc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish.yaml
1533 lines (1533 loc) · 62.6 KB
/
publish.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Type: Component
Name: fc
Provider:
- 阿里云
Version: 0.1.66
Description: Basic components of Alibaba cloud functional computing
HomePage: https://github.com/devsapp/fc
Tags:
- 函数计算
Category: 基础云产品
Commands:
Build & Deploy:
deploy: Deploy local resources online
build: Build the dependencies.
remove: The ability to delete resources
Observability:
metrics: Query function metrics information
logs: Query the function log. You need to open SLS log service
Invoke & Debug:
local: Run your serverless application locally for quick development & testing
invoke: Invoke/Trigger online functions
proxied: Local invoke via proxied service.
remote: Remote invoke via proxied service.
Publish & Config:
version: Service version operation
alias: Service alias operation
provision: provision reservation operation
ondemand: Resource on-demand operation
layer: Resource layer operation
Others:
nas: Manage nas, include upload,download and so on
plan: Perceived resource change
info: Query online resource details
sync: Synchronize online resources to offline resources
stress: Stress test for the serverless application
fun2s: Convert the Yaml specification of Funcraft to Serverless Devs
instance: Instance login and operation [beta]
api: API call directly [beta]
Service:
函数计算:
Authorities:
- 函数计算全部权限
Properties:
definitions:
roleStatement:
type: object
description: 自定义策略内容
default: {}
examples: []
required:
- name
- statement
additionalProperties: false
properties:
name:
type: string
minLength: 1
title: 策略名称
description: 策略名称
default: ''
examples:
- myPolicy
description:
type: string
title: 策略描述
description: 策略描述
default: ''
examples:
- custom policy
statement:
type: array
title: 策略内容列表
description: 策略内容列表
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: object
title: 策略内容列表
description: 策略内容列表
default: {}
examples: []
required:
- Effect
- Action
- Resource
additionalProperties: false
properties:
Effect:
title: 策略生效
description: 策略生效,可选值有 'Allow' 和 'Deny'
default: Allow
enum:
- Allow
- Deny
Action:
type: array
title: 策略动作
description: 策略动作
default: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
minLength: 1
title: 策略动作
description: 策略动作
examples:
- log:ListProject
Resource:
type: array
title: 策略的目标资源
description: 策略的目标资源
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
title: 策略的目标资源
description: 策略的目标资源
default: ''
examples:
- acs:log:*:*:project/*
pattern: '^acs:.*$'
role:
type: object
description: 自定义策略列表创建角色
default: {}
required:
- name
- policies
additionalProperties: false
properties:
name:
type: string
title: 角色名称
minLength: 1
default: ''
examples:
- roleName
policies:
type: array
x-component: RolePolicy
x-oneof: component
title: 策略列表
description:
当使用了这个字段,需要本地配置的 ak 具有创建 policy 和 role 的权限,列表中的元素支持字符串和 policy
结构体
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
title: 阿里云系统内置策略
minLength: 1
default: ''
examples:
- AliyunOSSFullAccess
x-component: Input
- title: 自定义策略
'$ref': '#/definitions/roleStatement'
logConfig:
type: object
default: {}
examples: []
required:
- project
- logstore
additionalProperties: false
properties:
project:
type: string
minLength: 1
title: 日志项目
default: ''
examples:
- xx-project
logstore:
type: string
minLength: 1
title: 日志仓库
default: ''
examples:
- xx-logstore
logBeginRule:
title: 日志分割规则
x-tooltip: 开启日志分割后,将按照日期格式分割长日志内容,如包含多个`2021-11-11`内容的单条日志将被默认分割为多行,当前日期以及下一个日期前的所有内容将作为一条独立日志写入SLS
default: None
x-component: Switch
enum:
- DefaultRegex
- None
x-enum-label:
- 启用
- 禁用
enableRequestMetrics:
type: boolean
title: 请求级别指标
x-tooltip:
开启该功能后,您可以查看该服务下所有函数的某次调用所消耗的时间及内存。您可以基于请求级别指标创建 Grafana 大盘,点击<a
href='https://help.aliyun.com/document_detail/208005.html' target='_blank'>这里</a>查看更多详情。
default: true
enableInstanceMetrics:
type: boolean
title: 实例级别指标
x-tooltip:
开启后,您可以查看实例级别的 CPU 使用情况、内存使用情况、实例网络情况和实例内请求数等核心指标信息。点击<a href='https://help.aliyun.com/document_detail/262088.html'
target='_blank'>这里</a>查看更多详情。
default: false
examples:
- true
vpcConfig:
type: object
required:
- vpcId
- securityGroupId
- vswitchIds
additionalProperties: false
properties:
vpcId:
type: string
minLength: 1
title: 专有网络VPC
x-tooltip:
当前服务中的函数可以访问的 VPC。点击<a href='https://help.aliyun.com/document_detail/72959.html'
target='_blank'>这里</a>查看更多详情。
default: ''
vswitchIds:
type: array
title: 交换机
x-tooltip:
函数计算可以访问的子网。函数服务会在您提供的交换机创建弹性网卡. 您的函数将通过弹性网卡访问您专有网络里面的资源。点击<a href='https://help.aliyun.com/document_detail/72959.html'
target='_blank'>这里</a>查看更多详情
default: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
minLength: 1
examples:
- vsw-xxx1
- vsw-xxx2
securityGroupId:
type: string
minLength: 1
title: 安全组
x-tooltip:
此安全组是ENI所在的安全组,也就是函数计算所在的安全组,安全组限定了函数计算在VPC中的出入站规则。需要设置您的VPC所在安全组的入站规则为允许函数计算所在的安全组访问。否则,函数计算无法顺畅地访问您的VPC内资源。点击<a
href='https://help.aliyun.com/document_detail/72959.html' target='_blank'>这里</a>查看更多详情。
default: ''
nasConfig:
type: object
required:
- mountPoints
additionalProperties: false
properties:
userId:
type: integer
title: 用户
minimum: 1
maximum: 65534
description: 访问 NAS 中文件时所用的用户,等同于文件系统中的用户(UID)的概念。UserID 取值范围从 1 到 65534,不包括0(为了执行安全,函数计算暂时不提供root用户的方式)。点击这里查看更多详情。
default: 10003
examples:
- 10003
groupId:
type: integer
title: 用户组
minimum: 1
maximum: 65534
description: 访问 NAS 中文件时所用的用户组,等同于文件系统中的用户组(GID)的概念。GroupID 取值范围从 1 到 65534,不包括0(为了执行安全,函数计算暂时不提供root用户的方式)。点击这里查看更多详情。
default: 10003
examples:
- 10003
mountPoints:
type: array
title: 挂载点
description: NAS 的挂载点。点击这里查看更多详情。
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: object
title: NAS 挂载点
default: {}
examples: []
required:
- serverAddr
- nasDir
- fcDir
additionalProperties: false
properties:
serverAddr:
type: string
minLength: 1
title: NAS 挂载点
default: ''
examples:
- xxx-xxx.cn-shenzhen.nas.aliyuncs.com
nasDir:
type: string
minLength: 1
title: 远端NAS中目录
description: 通用型 NAS 以 / 开头,极速型 NAS 必须以 /share 开头。
default: ''
examples:
- '/unit-deploy-service'
fcDir:
type: string
minLength: 1
title: 函数运行环境中本地目录
description: 必须为 /home/ 或者 /mnt/ 的子目录,例如 /home/app
examples:
- '/mnt/auto'
roleArn:
type: string
pattern: '^acs:ram.*:role.*$'
title: 角色名称
description: 使用一个 RAM 角色的 ARN 为函数指定执行角色,事件源会使用该角色触发函数执行,请确保该角色有调用函数的权限
sourceArn:
type: string
pattern: '^acs:.*$'
title: 事件源的 ARN
description: 触发器事件源的 ARN
namePattern:
title: 名称
description: 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间。
type: string
pattern: '^[a-zA-Z0-9-_]{1,128}$'
type: object
required:
- region
- service
additionalProperties: false
properties:
region:
default: cn-hangzhou
title: 地域
enum:
- cn-beijing
- cn-hangzhou
- cn-shanghai
- cn-qingdao
- cn-zhangjiakou
- cn-huhehaote
- cn-shenzhen
- cn-chengdu
- cn-hongkong
- ap-southeast-1
- ap-southeast-2
- ap-southeast-3
- ap-southeast-5
- ap-northeast-1
- eu-central-1
- eu-west-1
- us-west-1
- us-east-1
- ap-south-1
service:
title: 服务配置
type: object
required:
- name
properties:
name:
'$ref': '#/definitions/namePattern'
description:
title: 描述
description: 服务的描述信息
maxLength: 4096
type: string
internetAccess:
title: 允许公网访问
description: 配置服务中的函数是否可以访问互联网
default: true
type: boolean
role:
title: 服务角色
x-oneof: component
x-tooltip:
当前服务和服务中的函数将会使用这个 RAM 角色(Role)来访问您的阿里云资源。点击<a href='https://help.aliyun.com/document_detail/52885.html'
target='_blank'>这里</a>查看更多详情。
description:
注意:在 RAM 控制台创建服务所使用的角色时,需要选择“阿里云服务”,并且“受信服务”为“函数计算”。详情参考<a href='https://ram.console.aliyun.com/roles/AliyunFCDefaultRole'
target='_blank'>默认角色</a>
pattern: '^acs:ram.*:role.*$'
oneOf:
- type: string
title: 简单配置
description:
当前服务和服务中的函数将会使用这个 RAM 角色(Role)来访问您的阿里云资源。点击<a href='https://help.aliyun.com/document_detail/52885.html'
target='_blank'>这里</a>查看更多详情。
pattern: '^acs:ram.*:role.*$'
x-component: Input
examples:
- acs:ram::xxx:role/fc-default-role
- '$ref': '#/definitions/role'
title: 高级配置
tracingConfig:
title: 链路追踪功能
x-tooltip:
启用链路追踪功能后,您可以使用 Jaeger上传链路信息,使您能够跟踪函数的执行,帮助您快速分析和诊断 Serverless
架构下的性能瓶颈。点击<a href='https://help.aliyun.com/document_detail/189804.html'
target='_blank'>这里</a>查看更多详情。 注意:函数计算在后台为您创建的链路追踪资源可能会产生费用(有一定的免费额度),详情请参见<a
href='https://help.aliyun.com/document_detail/169781.html' target='_blank'>链路追踪计费方式。</a>
description:
配置服务的链路追踪功能,启用链路追踪功能后,您可以使用 Jaeger 上传链路信息,使您能够跟踪函数的执行,帮助您快速分析和诊断
Serverless 架构下的性能瓶颈。
x-component: Switch
enum:
- Enable
- Disable
x-enum-label:
- 启用
- 禁用
vpcBinding:
title: 仅允许函数访问VPC
type: array
items:
oneOf:
- type: string
minLength: 1
examples:
- vpc-xxx1
- vpc-xxx2
logConfig:
title: 日志配置
x-oneof: void
x-tooltip: 配置服务的日志功能,启用日志功能后,您可以查看函数的执行日志,从而方便您的代码调试、故障分析、数据分析等操作。
oneOf:
- title: 自动配置
x-tooltip:
启用日志功能后,您可以查看函数的执行日志,从而方便您的代码调试、故障分析、数据分析等操作。点击<a href='https://help.aliyun.com/document_detail/73349.html'
target='_blank'>这里</a>查看更多详情。注意:函数计算在后台为您创建的日志服务资源会产生费用,详情请参见<a href='https://help.aliyun.com/document_detail/107745.htm'
target='_blank'>日志服务计费方式</a>。
enum:
- auto
- title: 自定义配置
'$ref': '#/definitions/logConfig'
vpcConfig:
title: VPC网络配置
x-oneof: void
x-tooltip: 配置服务中函数使用的网络,例如配置函数是否可以访问公网,是否可以访问 VPC 中的资源等。
oneOf:
- title: 自动配置
x-tooltip: 选择自动配置,系统将会自动为您创建一个VPC、Switch、安全组
enum:
- auto
- title: 自定义配置
'$ref': '#/definitions/vpcConfig'
ossMountConfig:
title: OSS挂载
type: object
required:
- mountPoints
additionalProperties: false
properties:
mountPoints:
type: array
title: 挂载点
description: OSS 的挂载点
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: object
title: OSS 的挂载点
default: {}
examples: []
required:
- endpoint
- bucketName
- mountDir
additionalProperties: false
properties:
endpoint:
type: string
minLength: 1
title: OSS服务地址
default: ''
examples:
- http://oss-cn-shenzhen.aliyuncs.com
bucketName:
type: string
minLength: 1
title: bucket名称
description: OSS bucket名称
default: ''
mountDir:
type: string
minLength: 1
title: 函数运行环境中本地目录
description: 必须为 /home/ 或者 /mnt/ 的子目录,例如 /home/app
examples:
- '/mnt/dir'
bucketPath:
type: string
title: 挂载的OSS Bucket路径
description: 挂载的OSS Bucket路径
examples:
- '/my-dir'
readOnly:
default: true
type: boolean
title: 是否挂载为只读
nasConfig:
title: 存储配置
x-oneof: void
x-tooltip: 配置服务中函数使用的 NAS 文件系统。配置后您的函数可以像访问本地文件系统一样访问存储在其中一个NAS文件系统上的文件。
oneOf:
- title: 自动配置
description:
1、选择自动配置 NAS,需要绑定 VPC、VSwitch 和安全组,如您未绑定,将会为您自动创建并绑定在当前服务中<br/> 2、将为您创建一个新的通用型NAS文件系统,费用为容量型
0.35 元/GB/月,性能型(部分地区无容量型) 1.85元/GB/月,请您及时关注 NAS 费用账单<br/> 3、若您自动配置
NAS 成功后选择禁用再启用,系统将优先匹配上一次 NAS 配置,如有需要可以手动更改配置
enum:
- auto
- '$ref': '#/definitions/nasConfig'
description:
如果您已经为当前函数配置过VPC交换机且和NAS文件系统的可用区不一致,可在NAS中创建一个新的挂载点指向函数计算绑定的交换机。由于同一VPC内不同交换机之间内网互通,因此函数计算可以通过该交换机访问在其他可用区的VPC内资源,但可能会多
1~2ms 左右的延时。点击这里查看更多详情。
title: 自定义配置
function:
type: object
title: 函数配置
additionalProperties: false
oneOf:
- required:
- name
- codeUri
- runtime
- required:
- name
- ossBucket
- ossKey
- runtime
properties:
name:
'$ref': '#/definitions/namePattern'
description:
title: 描述
examples:
- this is test description
type: string
codeUri:
title: 代码路径
description: 本地代码包路径
minLength: 1
type: string
examples:
- '/home/admin'
x-reactions:
dependencies:
- '.ossBucket'
- '.ossKey'
fulfill:
state:
visible: '{{!$deps[0]&&!$deps[1]}}'
ossBucket:
title: ossBucket
description: 如果指定oss代码,所在的存储桶,不能与codeUri同时出现
type: string
minLength: 1
x-reactions:
dependencies:
- '.codeUri'
fulfill:
state:
visible: '{{!$deps[0]}}'
ossKey:
title: ossKey
description: 如果指定oss代码,所对应的对象,不能与codeUri同时出现
type: string
minLength: 1
x-reactions:
dependencies:
- '.codeUri'
fulfill:
state:
visible: '{{!$deps[0]}}'
handler:
title: 函数入口
x-tooltip: 指定调用函数时需要从哪个文件中的哪个函数开始执行。
description:
在“运行环境”为 Node.js 时,当前值的格式为 [文件名].[函数名]。如果当前值为 index.handler,那么在函数被触发时,将执行
index.js 文件中的 handler 函数。
examples:
- index.handler
type: string
runtime:
title: 运行环境
default: nodejs12
type: string
enum:
- nodejs14
- nodejs12
- nodejs10
- nodejs8
- python3
- python3.9
- java8
- java11
- php7.2
- dotnetcore2.1
- custom
- custom-container
- nodejs4.4
- nodejs6
- python2.7
customRuntimeConfig:
x-reactions:
dependencies:
- '.runtime'
fulfill:
state:
visible: "{{$deps[0] === 'custom'}}"
title: custom配置
type: object
required:
- command
additionalProperties: false
properties:
command:
type: array
title: 启动指令
description: 自定义bootstrap启动命令和参数列表。需填写绝对路径,如:/code/myBootstrap
default: []
examples: []
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
minLength: 1
args:
type: array
title: 启动参数
description: 自定义bootstrap接收的参数列表。依次追加到启动命令之后
items:
oneOf:
- type: string
customHealthCheckConfig:
x-reactions:
dependencies:
- '.runtime'
fulfill:
state:
visible: "{{$deps[0].startsWith('custom')}}"
title: 健康检查
type: object
required:
- httpGetUrl
properties:
httpGetUrl:
title: 请求路径
description: 容器自定义健康检查 URL 地址。长度不超过 2048 个字符。
type: string
minLength: 1
initialDelaySeconds:
title: 首次探测延迟时间
description: 容器启动到发起健康检查的延迟。取值范围 0~120。默认值为 0。
default: 0
type: integer
minimum: 0
maximum: 120
periodSeconds:
title: 探测时间间隔
description: 健康检查周期。取值范围 1~120。默认值为 3。
default: 3
type: integer
minimum: 1
maximum: 120
timeoutSeconds:
title: 探测超时时间
description: 健康检查超时时间。取值范围 1~3。默认值为 1。
default: 1
type: integer
minimum: 1
maximum: 3
failureThreshold:
title: 最大失败次数
description: 健康检查失败次数阈值,达到该值后系统认为检查失败。取值范围 1~120。默认值为 3。
default: 3
type: integer
minimum: 1
maximum: 120
successThreshold:
title: 探测成功阈值
description: 健康检查成功次数阈值,达到该值后系统认为检查成功。取值范围 1~120。默认值为 1。
default: 3
type: integer
minimum: 1
maximum: 120
customContainerConfig:
x-reactions:
dependencies:
- '.runtime'
fulfill:
state:
visible: "{{$deps[0] === 'custom-container'}}"
title: 自定义镜像配置
type: object
required:
- image
properties:
image:
title: 容器镜像地址
description:
您需要在容器中实现一个 HTTP Server。当调用函数时,函数计算会启动您的容器,并通过容器中的 HTTP Server
对外提供服务。注意:镜像资源使用量中的执行时间是从仓库拉取镜像开始计算的,容器镜像在一段时间一定范围内有缓存,因此并不是每次冷启动一定会产生镜像拉取的费用。这里查看更多详情。
type: string
minLength: 1
instanceID:
title: 企业镜像ID
description: 容器镜像服务企业版实例的ID。当容器镜像选择的是企业版实例时,您需要给容器镜像服务企业版添加实例ID,该实例的默认解析必须是服务所在的VPC网络地址。目前不支持PrivateZone产品定义域名解析
type: string
command:
examples:
- '["/code/myserver"]'
title: Command
description: 容器的启动命令,例如["/code/myserver"]。该参数为可选参数,如果不填写,则默认使用镜像中的Entrypoint/CMD。点击这里查看更多详情。
type: string
args:
title: Args
description: 容器的启动参数,例如["-arg1", "value1"]。该参数为可选参数,如果不填写,则默认使用镜像中的CMD。点击这里查看更多详情。
examples:
- '["-arg1", "value1"]'
type: string
accelerationType:
title: 拉取镜像加速
description: 开启函数计算的镜像加速后,可提速 2~5 倍,将分钟级的镜像拉取缩短至秒级。开启镜像加速将会将镜像转存在函数计算的安全镜像加速存储中。点击这里查看更多详情。
default: Default
type: string
x-component: Switch
enum:
- Default
- None
x-enum-label:
- 启用
- 禁用
instanceType:
title: 实例类型
type: string
enum:
- e1
- c1
- g1
x-enum-label:
- 弹性实例
- 性能实例
- GPU实例
x-tooltip: 函数计算提供性能实例和弹性实例两种实例类型。<br/> 弹性实例:函数计算基本实例,规格小于性能实例,不能执行时间较长的离线任务或平滑地将大应用迁移至函数计算。<br/> 性能实例:大规格实例,包含多种实例规格,资源上限更高,适配场景更多。<br/> 点击这里查看更多详情。
description: 点击<a href='https://help.aliyun.com/document_detail/179379.html'
target='_blank'>这里</a>查看实例类型详情,使用限制和使用场景。
memorySize:
title: 内存规格
description: 函数执行内存。当执行函数时,可使用的最大内存。
default: 512
type: integer
enum:
- 128
- 256
- 512
- 1024
- 2048
- 3072
- 4096
- 8192
- 16384
- 32768
x-reactions: '{{memorySize}}'
gpuMemorySize:
title: GPU内存规格
description: 函数执行内存。当执行函数时,可使用的最大内存。
default: 8192
type: integer
enum:
- 2048
- 4096
- 8192
- 16384
x-enum-label:
- 8GB
- 16GB
x-reactions:
dependencies:
- '.instanceType'
fulfill:
state:
visible: "{{$deps[0] === 'g1'}}"
timeout:
title: 执行超时时间
description: 如果函数在这个时间内未能成功执行,函数计算会返回超时错误,请设置大小合适的超时时间,避免函数执行超时。
default: 60
type: integer
instanceConcurrency:
title: 单实例并发数
description:
函数计算支持单实例多并发的功能,这个值用来配置单个函数实例可以同时处理多少个请求。点击这里<a href='https://help.aliyun.com/document_detail/144586.html'
target='_blank'>查看</a>更多详情。
type: integer
instanceSoftConcurrency:
title: 扩容并发度
description:
扩容并发度用于优雅扩容,当实例上并发数超过扩容并发度时,会触发实例扩容。例如,您的实例启动较慢,可以通过设置合适的扩容并发度,提前启动实例。注意:扩容并发度的值不能大于实例并发度。
minimum: 1
type: integer
caPort:
title: 监听端口
description: 您的 HTTP Server 所监听的端口。
type: integer
environmentVariables:
title: 环境变量
description: 配置函数运行环境中的环境变量。
x-component: KeyValue
layers:
type: array
title: 层
description: 层可以为您提供自定义的公共依赖库、运行时环境及函数扩展等发布与部署能力。
uniqueItems: true
items:
oneOf:
- type: string
initializer:
title: 初始化函数
description:
函数计算平台会根据请求动态分配实例执行函数,当函数有连续调用时,会复用同一实例。Initializer 是初始化函数,保证在同一实例中执行且成功执行一次。点击这里查看更多详情。 在“运行环境”为
Node.js 时,当前值的格式为 [文件名].[函数名]。如果当前值为 index.handler,那么在函数被触发时,将执行 index.js
文件中的 handler 函数。
examples:
- index.initializer
type: string
initializationTimeout:
title: 初始化函数超时时间
description: 执行初始化函数的超时时间
type: integer
instanceLifecycleConfig:
title: 扩展函数
type: object
additionalProperties: false
properties:
preFreeze:
title: PreFreeze 函数
type: object
required:
- handler
additionalProperties: false
properties:
handler:
title: 函数入口
x-tooltip:
在每次函数计算服务决定冷冻当前函数实例前,您希望函数计算调用的函数。PreFreeze 函数输入参数没有 event
参数。PreFreeze 函数无返回值,在函数末尾增加返回逻辑是无效的。Python、PHP 及 C# Runtime 不支持配置
PreFreeze 函数。点击这里查看更多详情。 在“运行环境”为 Node.js
时,当前值的格式为 [文件名].[函数名]。如果当前值为 index.handler,那么在函数被触发时,将执行 index.js
文件中的 handler 函数。
type: string
minLength: 1
timeout:
title: 超时时间
x-tooltip: 执行PreFreeze 函数的超时时间
type: integer
preStop:
type: object
required:
- handler
title: PreStop 函数
additionalProperties: false
properties:
handler:
title: 函数入口
x-tooltip:
在每次函数计算决定停止当前函数实例前,您希望函数计算调用的函数。PreStop 函数输入参数没有event参数。PreStop
函数无返回值,在函数末尾增加返回逻辑是无效的。所有 Runtime 均支持配置 PreStop 函数。点击<a href='https://help.aliyun.com/document_detail/191143.html'
target='_blank'>这里</a>查看更多详情。<br/> 在“运行环境”为
Node.js 时,当前值的格式为 [文件名].[函数名]。如果当前值为 index.handler,那么在函数被触发时,将执行
index.js 文件中的 handler 函数。
type: string
minLength: 1
timeout:
title: 超时时间
x-tooltip: 执行PreStop 函数的超时时间
type: integer
customDNS:
title: DNS 配置
type: object
description: 用户自定义的 DNS 配置,平台根据该配置生成/etc/resolv.conf。仅对官方提供的 Runtime 生效。
additionalProperties: false
properties:
nameServers:
type: array
title: Name Servers
description: 请输入合法的 IP,例如:8.8.8.8
uniqueItems: true
items:
oneOf:
- x-validator:
- ipv4
type: string
searches:
type: array
title: 搜索域
description: DNS 搜索域列表
uniqueItems: true
items:
oneOf:
- type: string
dnsOptions:
type: array
title: DNS 选项
x-component: KeyValue
x-component-props:
type: array
description: 对应 resolv.conf DNS 配置的 Options 项,列表中每一项的键是必填的
uniqueItems: true
items:
oneOf:
- type: object
required:
- name
- value
properties:
name:
title: 键
type: string
minLength: 1
value:
title: 值
type: string
minLength: 1
asyncConfiguration:
title: 异步配置
type: object
additionalProperties: false
properties:
destination:
type: object
additionalProperties: false
properties:
onSuccess:
title: 成功目标
examples:
- acs:fc:{region}:{uid}:services/{serviceName}.{qualifier}/functions/{functionName}
type: string
x-tooltip: 在使用异步调用时,您可以在函数执行成功或执行失败后将执行信息发送给其他目标服务。
onFailure:
title: 失败目标
examples:
- acs:fc:{region}:{uid}:services/{serviceName}.{qualifier}/functions/{functionName}
type: string
x-tooltip: 在使用异步调用时,您可以在函数执行成功或执行失败后将执行信息发送给其他目标服务。
maxAsyncEventAgeInSeconds:
title: 消息最大有效期(s)
type: integer
minimum: 1
maximum: 2592000
maxAsyncRetryAttempts:
title: 最大重试次数
type: integer
minimum: 0
maximum: 8
x-tooltip:
在异步调用失败时,函数计算在<a href='_blank' target='https://help.aliyun.com/document_detail/52878.html'>某些情况</a>下会自动重试,您可以根据业务需求减少或增加对异步调用的重试。点击<a
href='_blank' target='https://help.aliyun.com/document_detail/52878.html'>这里</a>查看更多详情。
statefulInvocation:
title: 异步调用状态
type: boolean
x-tooltip:
有状态异步调用可以提供更好的可观测性。支持查询调用的状态,排队情况,执行情况,执行结果等。同时也提供调用级的控制能力。比如可以主动终止调用。有状态的异步调用适用于函数执行时间较长的场景的调用。点击<a
href='_blank' target='https://help.aliyun.com/document_detail/52878.html'>这里</a>查看更多详情。<br><br> 无状态异步调用支持的功能较少,但通常可以满足一般的业务场景。点击<a
href='_blank' target='https://help.aliyun.com/document_detail/52878.html'>这里</a>查看更多详情。
triggers:
title: 触发器配置
type: array
uniqueItems: true
items:
oneOf:
- type: object
required:
- type
- name
- config
properties:
type:
title: 触发器类型
default: http
description: HTTP 函数只能创建 HTTP 类型的触发器。
enum: