Ресурс: 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 | Только вывод. Отметка времени, когда сеанс впервые стал АКТИВНЫМ. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
androidDevice | Необходимый. Запрошенное устройство |
| |
ttl | Необязательный. Количество времени, на которое устройство будет изначально выделено. В конечном итоге это можно расширить с помощью RPC deviceSessions.patch. По умолчанию: 15 минут. Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « |
expireTime | Необязательный. Если в это время устройство все еще используется, все соединения будут разорваны, а состояние SessionState перейдет из состояния ACTIVE в FINISHED. Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: |
сессионстате
Состояние, в котором находится сеанс устройства.
Перечисления | |
---|---|
SESSION_STATE_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
REQUESTED | Исходное состояние запроса сеанса. Сеанс проверяется на корректность, и устройство еще не запрошено. |
PENDING | Сеанс проверен и находится в очереди для устройства. |
ACTIVE | Сеанс разрешен, и устройство принимает соединения. |
EXPIRED | Продолжительность сеанса превысила период времени резервирования устройства и истекла автоматически. |
FINISHED | Пользователь завершил сеанс, и он был отменен пользователем во время выделения запроса или после выделения и в течение периода использования устройства. |
UNAVAILABLE | Не удалось завершить сеанс, поскольку устройство было недоступно и его не удалось выделить через планировщик. Например, было запрошено устройство, которого нет в каталоге, или срок действия запроса истек в очереди выделения. |
ERROR | Невозможно завершить сеанс по внутренней причине, например из-за сбоя инфраструктуры. |
Сеансстатевент
Сообщение, инкапсулирующее серию состояний сеанса и время, когда 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/{project_id}/deviceSessions |
| GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Возвращает DeviceSession, который документирует статус выделения и то, выделено ли устройство. |
| GET /v1/projects/{project_id}/deviceSessions Перечисляет сеансы устройств, принадлежащие пользователю проекта. |
| ИСПРАВЛЕНИЕ /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Обновляет текущий сеанс устройства до полей, описанных update_mask. |