REST Resource: projects.deviceSessions

資源:DeviceSession

說明裝置訊息的 Protobuf 訊息,用於多個 RPC。

JSON 表示法
{
  "name": string,
  "displayName": string,
  "state": enum (SessionState),
  "stateHistories": [
    {
      object (SessionStateEvent)
    }
  ],
  "inactivityTimeout": string,
  "createTime": string,
  "activeStartTime": string,
  "androidDevice": {
    object (AndroidDevice)
  },

  // Union field expiration can be only one of the following:
  "ttl": string,
  "expireTime": string
  // End of list of possible types for union field expiration.
}
欄位
name

string

選用設定。DeviceSession 的名稱,例如「projects/{projectId}/deviceSessions/{session_id}」

displayName

string

僅供輸出。要在 UI 中顯示的 DeviceSession 標題。

state

enum (SessionState)

僅供輸出。DeviceSession 的目前狀態。

stateHistories[]

object (SessionStateEvent)

僅供輸出。sessionState 訊息的歷來狀態轉換,包括目前的工作階段狀態。

inactivityTimeout

string (Duration format)

僅供輸出。此裝置從 ACTIVE 轉換為 TIMEOUT_INACTIVITY 前,必須進行互動的時間間隔。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

createTime

string (Timestamp format)

僅供輸出。工作階段的建立時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

activeStartTime

string (Timestamp format)

僅供輸出。工作階段首次變成「有效」的時間戳記。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

androidDevice

object (AndroidDevice)

執行個體類型,要求的裝置

聯集欄位 expiration

expiration 只能採用下列其中一種設定:

ttl

string (Duration format)

選用設定。裝置首次分配的時間長度。這項作業最終可以透過 deviceSessions.patch RPC 擴充。預設值:15 分鐘。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

expireTime

string (Timestamp format)

選用設定。如果裝置目前仍在使用中,所有連線都會結束,SessionState 也會從「有效」轉換為「FINISHED」。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

工作階段狀態

裝置工作階段的所在狀態。

列舉
SESSION_STATE_UNSPECIFIED 預設值。這個值未使用。
REQUESTED 工作階段要求的初始狀態。系統正在進行工作階段驗證,確認正確無誤,且尚未要求裝置。
PENDING 工作階段已通過驗證,並已排在裝置佇列中。
ACTIVE 工作階段已獲準,裝置正在接受連線。
EXPIRED 工作階段持續時間超過裝置的預訂時間範圍,因此逾時。
FINISHED 使用者已完成工作階段,且在系統分配要求期間或裝置用量期間及裝置使用期間,使用者已取消工作階段。
UNAVAILABLE 無法使用裝置,無法透過排程器分配,因此無法完成工作階段。例如,您要求存取不在目錄中的裝置,或是要求已在分配佇列中過期。
ERROR 因內部原因 (例如基礎架構故障) 而無法完成工作階段。

工作階段狀態事件

訊息封裝了一系列工作階段狀態,以及 DeviceSession 首次進入這些狀態的時間。

JSON 表示法
{
  "sessionState": enum (SessionState),
  "eventTime": string,
  "stateMessage": string
}
欄位
sessionState

enum (SessionState)

僅供輸出。這個事件追蹤的 sessionState

eventTime

string (Timestamp format)

僅供輸出。sessionState 首次遇到該狀態的時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

stateMessage

string

僅供輸出。使用者可理解的訊息說明狀態。

方法

cancel

POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:取消將 DeviceSession 變更為狀態 FINISHED 並終止所有連線。

create

POST /v1/projects/{project_id}/deviceSessions

get

GET /v1/projects/{project_id}/deviceSessions/{device_session_id} 傳回 DeviceSession,這會說明配置狀態和裝置是否已分配。

list

GET /v1/projects/{project_id}/deviceSessions 列出專案使用者擁有的裝置工作階段。

patch

PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession 將目前的裝置工作階段更新為 update_mask 描述的欄位。