Session 命令操作
session 命令是用于管理函数会话的命令。会话(Session)是长时间运行的执行上下文,可以在多次函数调用之间保持状态,适用于需要保持连接或上下文的场景,如数据库连接、WebSocket 连接等。
会话功能允许您:
- 创建具有特定生命周期的会话
- 在会话之间保持状态和资源
- 管理会话的生命周期和配置
- 查询和监控会话状态
命令解析
当执行命令 session -h/session --help 时,可以获取帮助文档。
session create 命令
session create 命令是创建新会话的命令。
当执行命令 session create -h/session create --help 时,可以获取帮助文档。
参数解析
| 参数全称 | 参数缩写 | Cli 模式下必填 | 参数含义 |
|---|---|---|---|
| function-name | - | 必填 | 创建 Session 的函数名称 |
| qualifier | - | 必填 | 用于指定 Sesion 所属的版本或别名 |
| session-ttl-in-seconds | st | 必填 | 会话生命周期,单位为秒,取值范围 0-21600 |
| session-idle-timeout-in-seconds | si | 选填 | 会话闲置过期时间,单位为秒,取值范围 0-21600 |
| nas-config | - | 选填 | NAS 配置,配置后 Session 关联的实例可以访问指定 NAS 资源 |
当前命令还支持部分全局参数(例如
-a/--access,--debug等),详情可参考 Serverless Devs 全局参数文档
操作案例
- 纯命令行形式,需要指定函数所在地区、函数名以及版本或别名等,例如:
# 创建一个默认生命周期的会话
$ s cli fc3 session create --function-name my-function --qualifier LATEST --session-ttl-in-seconds 300 -a default
# 创建一个指定生命周期和闲置过期时间的会话
$ s cli fc3 session create --function-name my-function --qualifier LATEST --session-ttl-in-seconds 600 --session-idle-timeout-in-seconds 300 -a default
session get 命令
session get 命令是获取会话详情的命令。
当执行命令 session get -h/session get --help 时,可以获取帮助文档。
参数解析
| 参数全称 | 参数缩写 | Cli 模式下必填 | 参数含义 |
|---|---|---|---|
| function-name | - | 必填 | 会话所属函数名称 |
| session-id | - | 必填 | 查询的会话 ID 值 |
| qualifier | - | 必填 | 查询的会话 ID 关联的函数别名或版本信息 |
当前命令还支持部分全局参数(例如
-a/--access,--debug等),详情可参考 Serverless Devs 全局参数文档
操作案例
- 纯命令行形式,需要指定函数所在地区、函数名、会话 ID 以及版本或别名等,例如:
$ s cli fc3 session get --function-name my-function --session-id session-123 --qualifier LATEST -a default
session update 命令
session update 命令是更新会话的命令。
当执行命令 session update -h/session update --help 时,可以获取帮助文档。
参数解析
| 参数全称 | 参数缩写 | Cli 模式下必填 | 参数含义 |
|---|---|---|---|
| function-name | - | 必填 | 函数名 |
| session-id | - | 必填 | 待更新的会话 ID 值 |
| qualifier | - | 必填 | 待更新的 SessionID 关联的函数别名或版本信息 |
| session-ttl-in-seconds | st | 必填 | 会话生命周期,单位为秒,取值范围 0-21600 |
| session-idle-timeout-in-seconds | si | 选填 | 会话闲置过期时间,单位为秒,取值范围 0-21600 |
当前命令还支持部分全局参数(例如
-a/--access,--debug等),详情可参考 Serverless Devs 全局参数文档
操作案例
- 纯命令行形式,需要指定函数所在地区、函数名、会话 ID 以及版本或别名等,例如:
# 更新会话生命周期
$ s cli fc3 session update --region cn-hangzhou --function-name my-function --session-id session-123 --qualifier LATEST --session-ttl-in-seconds 900 -a default
# 同时更新会话生命周期和闲置过期时间
$ s cli fc3 session update --region cn-hangzhou --function-name my-function --session-id session-123 --qualifier LATEST --session-ttl-in-seconds 900 --session-idle-timeout-in-seconds 300 -a default
session list 命令
session list 命令是列出会话的命令。
当执行命令 session list -h/session list --help 时,可以获取帮助文档。
参数解析
| 参数全称 | 参数缩写 | Cli 模式下必填 | 参数含义 |
|---|---|---|---|
| function-name | - | 必填 | 函数名 |
| qualifier | - | 选填 | 指定调用的版本或者别名, 默认为 LATEST |
| limit | - | 选填 | 返回的会话数量,如不填写默认返回 20 条 |
| next-token | - | 选填 | 分页起始标记 |
| session-status | - | 选填 | 需要过滤的会话状态,默认返回所有 Active/Expired 状态的会话信息,也可指定 Active 仅获取活跃的会话信息,或指定 Expired 仅获取过期的会话信息 |
| session-id | - | 选填 | 过滤的 SessionId 值,如指定,可返回此会话关联的所有 Active/Expired 状态信息 |
当前命令还支持部分全局参数(例如
-a/--access,--debug等),详情可参考 Serverless Devs 全局参数文档
操作案例
- 纯命令行形式,需要指定函数所在地区和函数名等,例如:
# 列出所有会话
$ s cli fc3 session list --function-name my-function -a default
# 列出最多 10 个会话
$ s cli fc3 session list --function-name my-function --limit 10 -a default
# 根据版本或别名列出会话
$ s cli fc3 session list --function-name my-function --qualifier LATEST -a default
session remove 命令
session remove 命令是删除会话的命令。
当执行命令 session remove -h/session remove --help 时,可以获取帮助文档。
参数解析
| 参数全称 | 参数缩写 | Cli 模式下必填 | 参数含义 |
|---|---|---|---|
| function-name | - | 必填 | 函数名称 |
| session-id | - | 必填 | 需要删除的会话 Id 值 |
| qualifier | - | 必填 | 需要删除的 SessionId 关联的函数别名或版本信息 |
当前命令还支持部分全局参数(例如
-a/--access,--debug等),详情可参考 Serverless Devs 全局参数文档
操作案例
- 纯命令行形式,需要指定函数所在地区、函数名、会话 ID 以及版本或别名等,例如:
# 删除指定会话
$ s cli fc3 session remove --function-name my-function --session-id session-123 --qualifier LATEST -a default
# 直接删除指定会话,不进行确认
$ s cli fc3 session remove --function-name my-function --session-id session-123 --qualifier LATEST -y -a default
注意事项
在使用 Session 功能时,请注意以下几点:
- Session 是有状态的执行环境,会保持函数实例的持续运行,因此会产生持续的计费。
- Session 的生命周期和空闲超时时间设置需要合理规划,避免资源浪费。
- Session 功能适用于需要保持状态的长时间运行任务,如机器学习推理、数据处理流水线等场景。
- Session 不再需要时,请及时删除以避免不必要的费用。
- Session 的数量和资源使用受到函数计算服务的配额限制。