- 资源:DeviceSession
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- SessionState
- SessionStateEvent
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- 方法
资源:DeviceSession
描述设备消息的 Protobuf 消息,用于多个 RPC。
JSON 表示法 |
---|
{ "name": string, "displayName": string, "state": enum ( |
字段 | |
---|---|
name |
可选。DeviceSession 的名称,例如“projects/{projectId}/deviceSessions/{session_id}” |
displayName |
仅限输出。要在界面中显示的 DeviceSession 的标题。 |
state |
仅限输出。DeviceSession 的当前状态。 |
stateHistories[] |
仅限输出。sessionState 消息的历史状态转换,包括当前会话状态。 |
inactivityTimeout |
仅限输出。在此设备从 ACTIVE 转换为 TIMEOUT_INACTIVITY 之前,必须与之互动的时间间隔。 该时长以秒为单位,最多包含九个小数位,以“ |
createTime |
仅限输出。会话的创建时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
activeStartTime |
仅限输出。会话首次变为 ACTIVE 的时间戳。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
androidDevice |
必需。请求的设备 |
联合字段
|
|
ttl |
可选。最初为设备分配的时长。最终可以通过 deviceSessions.patch RPC 进行扩展。默认值:15 分钟。 该时长以秒为单位,最多包含九个小数位,以“ |
expireTime |
可选。如果此时设备仍在使用中,所有连接都将终止,且 SessionState 将从 ACTIVE 转换为 FINISHED。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
会话状态
设备会话所处的状态。
枚举 | |
---|---|
SESSION_STATE_UNSPECIFIED |
默认值。此值未使用。 |
REQUESTED |
会话请求的初始状态。验证会话是否正确,但尚未请求设备。 |
PENDING |
该会话已通过验证,且已列入设备的队列。 |
ACTIVE |
会话已授予,设备正在接受连接。 |
EXPIRED |
会话时长超过了设备的预订时长,自动超时。 |
FINISHED |
用户结束了会话,并且在请求仍在分配期间、分配之后以及设备使用期内被用户取消。 |
UNAVAILABLE |
无法完成会话,因为设备不可用,且未能通过调度器分配。例如,请求的目录中不在目录中的设备,或者请求在分配队列中已过期。 |
ERROR |
由于内部原因(例如基础架构故障),无法完成会话。 |
SessionStateEvent 类中的方法
一条消息,封装了一系列会话状态以及 DeviceSession 首次进入这些状态的时间。
JSON 表示法 |
---|
{
"sessionState": enum ( |
字段 | |
---|---|
sessionState |
仅限输出。此事件跟踪的 sessionState |
eventTime |
仅限输出。sessionState 首次遇到该状态的时间。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例: |
stateMessage |
仅限输出。用于说明状态的人类可读消息。 |
方法 |
|
---|---|
|
POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel 将 DeviceSession 更改为状态 FINISHED 并终止所有连接。 |
|
POST /v1/projects/{项目 ID}/deviceSessions |
|
GET /v1/projects/{project_id}/deviceSessions/{device_session_id} 返回一个 DeviceSession,用于记录分配状态以及设备是否已分配。 |
|
GET /v1/projects/{project_id}/deviceSessions 列出项目用户拥有的设备会话。 |
|
PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession 将当前设备会话更新为 update_mask 所描述的字段。 |