
# FunctionGraph函数模型
介绍FunctionGraph函数模型的返回字段。
#### 函数模型
FunctionGraph函数模型如下。
```
{
    "functions": [
        {
            "func_urn": "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
            "func_name": "test",
            "domain_id": "cff01_hk",
            "namespace": "7aad83af3e8d42e99ac194e8419e2c9b",
            "project_name": "xxxxxxxxxx",
            "package": "default",
            "runtime": "Node.js6.10",
            "timeout": 3,
            "handler": "test.handler",
            "memory_size": 128,
            "cpu": 300,
            "code_type": "inline",
            "code_url": "",
            "code_filename": "index.js",
            "code_size": 272,
            "user_data": "",
            "digest": "decbce6939297b0b5ec6d1a23bf9c725870f5e69fc338a89a6a4029264688dc26338f56d08b6535de47f15ad538e22ca66613b9a46f807d50b687bb53fded1c6",
            "version": "latest",
            "image_name": "latest-5qe8e",
            "xrole": "cff",
            "app_xrole": null,
            "description": "111",
            "version_description": "",
            "last_modified": "2018-03-28T11:30:32+08:00",
            "func_code": {
                "file": "",
                "link": ""
            },
            "func_vpc": null,
            "mount_config": null,
            "depend_list": null,
            "strategy_config": {
                "concurrency": -1
            },
            "extend_config": "",
            "dependencies": null,
            "initializer_handler": "index.initializer",
            "initializer_timeout": 3
        }
    ],
    "next_marker": 45
}
```
#### 字段说明
FunctionGraph函数字段说明如[表1]所示。
 表1FunctionGraph函数字段说明 
| 名称                  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| func_urn            | 函数的URN（Uniform Resource Name），唯一标识函数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| func_name           | 函数名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| domain_id           | 租户名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| namespace           | 租户的Project ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| project_name        | 租户的Project Name。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| package             | 函数所属的分组Package，用于用户针对函数的自定义分组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| runtime             | FunctionGraph函数的执行环境，支持Node.js 6.10、Node.js 8.10、Node.js 10.16、Node.js 12.13、Node.js 14.18、Node.js 16.17、Node.js 18.15、Node.js 20.15、Python 2.7、Python 3.6、Python 3.9、Python 3.10、Python 3.12、Java 8、Java 11、Java 17、Java 21、Go 1.x、C#.NET Core 2.1、C#.NET Core 3.1、C#.NET Core 6.0、C#.NET Core 8.0、Cangjie 1.0、PHP 7.3、PHP 8.3、Custom: 自定义运行时、http: HTTP函数和Custom Image: 自定义镜像函数。                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| timeout             | 函数执行超时时间，超时函数将被强行停止，范围3～900秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| handler             | 函数执行入口，规则：xx.xx，必须包含". "。 举例：对于Node.js函数：myfunction.handler，则表示函数的文件名为myfunction.js，执行的入口函数名为handler。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| memory_size         | 函数消耗的内存，单位M。 取值范围为：128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096、8192、10240。最小值为128，最大值为10240。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| cpu                 | 函数占用的CPU资源。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| code_type           | 函数代码类型，取值有4种： - inline：UI在线编辑代码。  - zip：函数代码为zip包。  - jar：函数代码为jar包，主要针对Java函数。  - obs：函数代码来源于OBS存储。   |
| code_url            | - 当"code_type"为"obs"时，该值为函数代码包在OBS上的地址。  - 当"code_type"为"inline"、"zip"或"jar"时，该字段为空。                                                                                                                                                                                                                                                                                                                                                                     |
| code_filename       | 函数的文件名。 - 当"code_type"为"zip"或"jar"时，必须提供该字段。  - 当"code_type"为"obs"或"inline"，不需要提供该字段。                                                                                                                                                                                                                                                                                                 |
| code_size           | 函数大小，单位：字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| user_data           | 用户自定义的name/value信息，在函数中使用的参数。 举例：如函数要访问某个主机，可以设置自定义参数：Host={host_ip}，总长度不超过4KB。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| digest              | 函数代码SHA512 hash值，用于判断函数是否变化。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| version             | 函数版本号，由系统自动生成，规则：vYYYYMMDD-HHMMSS（v+年月日-时分秒）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| image_name          | 函数版本的内部标识。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| xrole               | 函数使用的权限委托名称，需要IAM支持，并在IAM界面创建委托，当函数需要访问其他服务时，必须提供该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| app_xrole           | 函数app使用的权限委托名称，需要IAM支持，并在IAM界面创建委托，当函数需要访问其他服务时，必须提供该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description         | 函数描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| version_description | 函数版本描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| last_modified       | 函数最后一次更新时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| func_code           | 函数代码，请参考[表2]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| depend_list         | 依赖包列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| strategy_config     | 函数策略配置，请参考[表3]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| extend_config       | 函数扩展配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| dependencies        | 依赖代码包列表，请参考[表5]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| initializer_handler | 函数初始化入口，规则：xx.xx，必须包含". "。 举例：对于Node.js函数：myfunction.initializer，则表示函数的文件名为myfunction.js，初始化的入口函数名为initializer。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| initializer_timeout | 初始化超时时间，超时函数将被强行停止，范围1 ～ 300秒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| func_vpc            | vpc配置，请参考[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| mount_config        | 文件系统配置，请参考[表6 mount_config参数说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表2func_code参数说明 
| 参数   | 说明            |
|:---|:---|
| file | 函数代码内容，接口返回空。 |
| link | 函数代码链接，接口返回空。 |
   
 表3strategy_config参数说明 
| 参数          | 说明                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| concurrency | - 0：函数被禁用。  - -1：函数被启用。   |
   
 表4func_vpc参数说明 
| 参数          | 类型     | 是否必选           | 说明        |
|:---|:---|:---|:---|
| vpc_name    | String | 否              | 虚拟私有云名称   |
| vpc_id      | String | 当func_vpc非空时必选 | 虚拟私有云唯一标识 |
| subnet_name | String | 否              | 子网名称      |
| subnet_id   | String | 当func_vpc非空时必选 | 子网编号      |
| cidr        | String | 否              | 子网掩码      |
| gateway     | String | 否              | 网关        |
   
 表5dependency参数说明 
| 参数          | 类型     | 是否必选 | 说明                  |
|:---|:---|:---|:---|
| owner       | String | 否    | 依赖包属主的domainId      |
| link        | String | 否    | 依赖包在OBS上的链接         |
| runtime     | String | 否    | 依赖包语言类型（仅作为分类条件）    |
| etag        | String | 否    | 依赖包md5值             |
| size        | Int    | 否    | 依赖包大小               |
| name        | String | 否    | 依赖包名称               |
| description | String | 否    | 依赖包描述               |
| file_name   | String | 否    | 依赖包文件名（如果创建方式为zip时） |
   
 表6mount_config参数说明 
| 参数          | 类型                                                                                     | 是否必选 | 说明       |
|:---|:---|:---|:---|
| mount_user  | [mount_user] | 否    | 文件系统用户配置 |
| func_mounts | [func_mounts] | 否    | 文件系统列表   |
   
 表7mount_user参数说明 
| 参数            | 类型  | 是否必选            | 说明                                   |
|:---|:---|:---|:---|
| user_id       | Int | mount_user非空时必选 | 用户ID，-1 \~ +65534的整数(0、1000、1002除外)  |
| user_group_id | Int | mount_user非空时必选 | 用户组ID，-1 \~ +65534的整数(0、1000、1002除外) |
   
 表8func_mounts参数说明 
| 参数               | 类型     | 是否必选                   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| mount_type       | String | func_mounts非空时必选       | 挂载类型（sfs/sfsTurbo/ecs） - sfs：sfs容量型   - sfsTrubo：弹性文件服务   - ecs：ecs服务器    |
| mount_resource   | String | func_mounts非空时必选       | 挂载资源ID（对应云服务ID）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| mount_share_path | String | "mount_type"为"ecs"时，必选 | 远端挂载路径（例如192.168.0.12:/data）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| local_mount_path | String | func_mounts非空时必选       | 函数访问路径                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### funcurn格式说明
```
urn:fss:<region_id>:<project_id>:function:<package>:<function_name>[:<version>|:!<alias>]
```
![](https://support.huaweicloud.com/api-functiongraph/public_sys-resources/note_3.0-zh-cn.png)
Funcurn使用冒号分隔为8个域，region_id为系统配置的值（测试时可以填成与后台相同的值），最后一个中括号的内容表示可以为函数的版本号，也可以为该版本指向的别名，如果为别名时需要在名称前加上感叹号！以示区分。
当作为API参数时，可以提供简化格式的Funcurn，具体如下。
- 提供1个域：解析为\<function_name\>，"project_id"从token中获取，"package"为"default"，"version"为"latest"。
- 提供2个域：解析为\<package\>:\<function_name\>，"project_id"从token中获取，"version"为"latest"。
- 提供3个域：解析为\<project_id\>:\<package\>:\<function_name\>，"version"为"latest"。
- 提供4个域：解析为\<project_id\>:\<package\>:\<function_name\>:\<Version or Alias\>。
- 提供7个域：解析为urn:fss:\<region_id\>:\<project_id\>:function:\<package\>:\<function_name\>，"version"为"latest"。
- 提供8个域：解析为urn:fss:\<region_id\>:\<project_id\>:function:\<package\>:\<function_name\>:\<Version or Alias\>。
 
#### 函数实例数据
{
"func_urn":"urn:fss:xxxxxxxxx:73d69ae0cfcf460190522d060f05ad:function:default:auto_testfunc93749",
"func_name":"auto_testfunc93749",
"domain_id":"b8aca445e0d04d81a34bb59de5280c72",
"namespace":"73d69ae0cfcf460190522d060f05ad",
"project_name":"xxxxxxxxx",
"package":"default",
"runtime":"Python2.7",
"timeout":5,
"handler":"index.handler",
"memory_size":128,
"cpu":300,
"code_type":"inline",
"code_filename":"index.py",
"code_size":1992,
"version":"latest",
"image_name": "latest-200731100126@obffv",
"description": "使用API网关调用函数，在函数中演示了返回不同的内容，如HTML页面和json结构体。",
"last_modified": "2020-07-31T10:01:26+08:00",
"func_code": {},
"FuncCode": {},
"concurrency": -1,
"strategy_config": {
"concurrency": -1
},
"enterprise_project_id": "0"
}
