Skip to content

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 功能时,请注意以下几点:

  1. Session 是有状态的执行环境,会保持函数实例的持续运行,因此会产生持续的计费。
  2. Session 的生命周期和空闲超时时间设置需要合理规划,避免资源浪费。
  3. Session 功能适用于需要保持状态的长时间运行任务,如机器学习推理、数据处理流水线等场景。
  4. Session 不再需要时,请及时删除以避免不必要的费用。
  5. Session 的数量和资源使用受到函数计算服务的配额限制。