更新时间:2025-06-28 GMT+08:00
分享

Yaml文件

Yaml完整配置

华为云函数工作流(FunctionGraph)组件的Yaml字段如下:
edition: 1.0.0 #  命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范
name: fg-test #  项目名称
access: "default" #  秘钥别名

vars: # 全局变量
    region: "cn-east-3"
    functionName: "start-fg-event-Nodejs14"

services:
    component-test: #  服务名称
        component: fgs # 组件名称
        props:
            region: ${vars.region}
            function:
                functionName: ${vars.functionName} # 函数名
                handler: index.handler # 函数执行入口
                memorySize: 256 # 函数消耗的内存
                timeout: 30 # 函数执行超时时间
                runtime: Node.js14.18 # 运行时
                agencyName: fgs-vpc-test # 委托名称
                environmentVariables: # 环境变量
                    test: test
                    hello: world
                vpcId: xxx-xxx # 虚拟私有云唯一标识
                subnetId: xxx-xxx # 子网编号
                concurrency: 10 # 单函数最大实例数
                concurrentNum: 10 # 单实例最大并发数
                codeType: zip # 函数代码类型
                dependVersionList: # 依赖包,取依赖包的ID
                    - xxx-xxx
                code: # 本地代码地址
                    codeUri: ./code
            trigger:
                triggerTypeCode: TIMER # 触发器类型
                status: DISABLED # 触发器状态
                eventData: # 触发器配置 
                    name: APIG_test  # API名称
                    groupName: APIGroup_xxx # 分组名称
                    auth: IAM # 安全认证
                    protocol: HTTPS # 请求协议
                    timeout: 5000 # 后端超时时间
表1 参数说明

参数

必填

类型

参数描述

region

True

Enum

地域

function

True

Struct

函数

triggers

False

Struct

触发器

function字段介绍

Yaml文件中function字段说明请参考表2

表2 function字段说明

参数名

必填

类型

参数描述

functionName

True

String

函数名称。

handler

True

String

函数执行入口,规则:xx.xx,必须包含“.”。

runtime

True

String

函数运行时。

package

False

String

函数所属的分组Package,用于用户针对函数的自定义分组,默认为default。

memorySize

True

Number

函数消耗的内存,单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。

timeout

True

Number

函数执行超时时间,超时函数将被强行停止,范围3~900秒。

Code Type

True

String

函数代码类型。

  • inline: UI在线编辑代码。
  • zip: 函数代码为zip包。
  • obs: 函数代码来源于obs存储。
  • jar: 函数代码为jar包,主要针对Java函数。

codeUrl

False

String

当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。

environmentVariables

False

Struct

环境变量。最多定义20个,总长度不超过4KB。

agencyName

False

String

委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。

vpcId

False

String

虚拟私有云唯一标识。配置时,agencyName必填。虚拟私有云标识请登录虚拟私有云页面查看。

subnetId

False

String

子网编号。配置时,agencyName必填。子网编号请登录虚拟私有云子网页面查看。

dependVersionList

False

List<String>

依赖包,取依赖包的ID。

code

False

Struct

本地代码地址,当CodeType为zip时必填。

concurrency

False

Number

单函数最大实例数,取值-1到1000。 -1代表该函数实例数无限制;0代表该函数被禁用。

concurrentNum

False

Number

单实例最大并发数,取值-1到1000。

description

False

String

function 的简短描述。

  • Func Code参数说明:
    表3 Func Code参数说明

    参数名

    必填

    类型

    参数描述

    codeUri

    True

    String

    本地代码地址

  • Environment Variables参数说明:
    Object 格式,例如:
    DB_connection: jdbc:mysql://ip:port/dbname

    当然不推荐通过明文将敏感信息写入到s.yaml。

参考案例:
function:
  functionName: event-function
  description: this is a test
  runtime: Node.js14.18
  handler: index.handler
  memorySize: 128
  timeout: 60
  code: 
    codeUri: ./code
  environmentVariables:
    test: 123
    hello: world

triggers字段介绍

Yaml文件中triggers字段说明请参考表4

表4 trigger参数说明

参数名

必填

类型

参数描述

triggerTypeCode

True

String

触发器类型。

status

False

Enum

触发器状态,取值为 ACTIVE、DISABLED,默认为 ACTIVE。

eventData

True

Struct

触发器配置,包括•APIG触发器, •TIMER触发器

  • APIG触发器
    表5 APIG参数说明

    参数名

    必填

    类型

    参数描述

    name

    False

    String

    API名称,默认使用函数名。

    groupName

    False

    String

    分组,默认选择当前第一个。

    auth

    False

    Enum

    安全认证,默认为 IAM。

    API认证方式:
    • App: 采用Appkey&Appsecret认证,安全级别高,推荐使用,详情请参见APP认证
    • IAM: IAM认证,只允许IAM用户能访问,安全级别中等,详情请参见IAM认证
    • None: 无认证模式,所有用户均可访问。

    protocol

    False

    Enum

    请求协议,默认为 HTTPS。

    分为两种类型:

    • HTTP
    • HTTPS

    timeout

    False

    Number

    后端超时时间,单位为毫秒,取值范围为 1 ~ 60000。默认为 5000。

    参考案例:
    trigger:
        triggerTypeCode: APIG
        status: ACTIVE
        eventData:
            name: APIG_test
            groupName: APIGroup_xxx
            auth: IAM
            protocol: HTTPS
            timeout: 5000
  • TIMER触发器
    表6 TIMER参数说明

    参数名

    必填

    类型

    参数描述

    name

    False

    String

    定时器名称。

    scheduleType

    True

    Enum

    触发规则,取值为 Rate、Cron

    schedule

    True

    String

    定时器规则内容。

    userEvent

    False

    String

    附加信息,如果用户配置了触发事件,会将该事件填写到TIMER事件源的“user_event”字段。

    参考案例:
    trigger:
        triggerTypeCode: TIMER
        status: ACTIVE
        eventData:
            name: Timer-xxx
            scheduleType: Rate
            schedule: 3m
            userEvent: xxxx
    
    trigger:
        triggerTypeCode: TIMER
        status: ACTIVE
        eventData:
            name: Timer-xxx
            scheduleType: Cron
            schedule: 0 15 2 * * ?
            userEvent: xxxx

相关文档