
# 变量
Serverless Framework提供了一个强大的变量系统，您可以将动态数据添加到serverless.yml中。使用Serverless变量，您将能够执行以下操作：
- 引用并加载环境变量中的变量。
- 引用并加载CLI选项中的变量。
- 递归引用同一serverless.yml文件中的任何类型的属性。
- 递归引用其他YAML/JSON文件中的任何类型的属性。
- 递归地嵌套变量引用，提高灵活性。
- 合并多个变量引用以相互覆盖。
#### 约束与限制
只能在serverless.yml的**values**属性中使用变量，而不能使用键属性。因此，您不能在自定义资源部分中使用变量生成动态逻辑ID。
#### 从环境变量中引用变量
要引用环境变量中的变量，请在serverless.yml中使用${env:someProperty}语法，如下：
```
service: new-service
provider:
  name: huawei
  runtime: Node.js14.18
  credentials: ~/.fg/credentials # path must be absolute
  environment:
    variables:
      ENV_FIRST: ${env:TENCENTCLOUD_APPID}
plugins:
  - serverless-huawei-functions
functions:
  hello:
    handler: index.hello
```
