REST Resource: projects.deviceSessions

Zasób: DeviceSession

Komunikat protokołu opisujący komunikat urządzenia, używany z kilku RPC.

Zapis 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.
}
Pola
name

string

Opcjonalnie. Nazwa sesji na urządzeniu, np. „projects/{identyfikator_projektu}/deviceSessions/{identyfikator_sesji}”

displayName

string

Tylko dane wyjściowe. Tytuł sesji na urządzeniu, który będzie wyświetlany w interfejsie.

state

enum (SessionState)

Tylko dane wyjściowe. Bieżący stan sesji na urządzeniu.

stateHistories[]

object (SessionStateEvent)

Tylko dane wyjściowe. Historyczne zmiany stanu wiadomości sessionState, w tym bieżący stan sesji.

inactivityTimeout

string (Duration format)

Tylko dane wyjściowe. Okres, przez jaki urządzenie musi być używane do interakcji, zanim zmieni się z ACTIVE na TIMEOUT_INACTIVITY.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

createTime

string (Timestamp format)

Tylko dane wyjściowe. Czas utworzenia sesji.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

activeStartTime

string (Timestamp format)

Tylko dane wyjściowe. Sygnatura czasowa, kiedy sesja po raz pierwszy stała się AKTYWNA.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

androidDevice

object (AndroidDevice)

Wymagane. Żądane urządzenie

Pole sumy expiration.

expiration może mieć tylko jedną z tych wartości:

ttl

string (Duration format)

Opcjonalnie. Czas, przez który urządzenie będzie początkowo przydzielone. Można to później rozszerzyć za pomocą polecenia RPC deviceSessions.patch. Domyślnie: 15 minut.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

expireTime

string (Timestamp format)

Opcjonalnie. Jeśli urządzenie jest nadal używane, wszystkie połączenia zostaną zakończone, a stan SessionState zmieni się z ACTIVE na FINISHED.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Stan sesji

Stan sesji na urządzeniu.

Wartości w polu enum
SESSION_STATE_UNSPECIFIED Wartość domyślna. Ta wartość nie jest używana.
REQUESTED Początkowy stan żądania sesji. Sesja jest weryfikowana pod kątem poprawności i nie zostało jeszcze wysłane żądanie dotyczące urządzenia.
PENDING Sesja została zweryfikowana i znajduje się w kolejce dla urządzenia.
ACTIVE Sesja została przyznana, a urządzenie akceptuje połączenia.
EXPIRED Czas trwania sesji przekroczył okres rezerwacji urządzenia i automatycznie upłynął limit czasu.
FINISHED Użytkownik zakończył sesję i została anulowana podczas przydzielania żądania lub po przydzieleniu jej oraz w okresie użytkowania urządzenia.
UNAVAILABLE Nie udało się ukończyć sesji, ponieważ urządzenie było niedostępne i nie udało się go przydzielić za pomocą algorytmu szeregowania. Na przykład żądanie dotyczące urządzenia, którego nie ma w katalogu, lub wygasło w kolejce alokacji.
ERROR Nie można ukończyć sesji z przyczyn wewnętrznych (np. awarii infrastruktury).

Zdarzenie stanu sesji

Komunikat zawierający serię stanów sesji i czas, w którym sesja na urządzeniu po raz pierwszy weszła w te stany.

Zapis JSON
{
  "sessionState": enum (SessionState),
  "eventTime": string,
  "stateMessage": string
}
Pola
sessionState

enum (SessionState)

Tylko dane wyjściowe. Wartość sessionState śledzona przez to zdarzenie

eventTime

string (Timestamp format)

Tylko dane wyjściowe. Czas pierwszego wystąpienia tego stanu przez parametr sessionState.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

stateMessage

string

Tylko dane wyjściowe. Zrozumiały dla człowieka komunikat wyjaśniający stan.

Metody

cancel

POST /v1/projects/{identyfikator_projektu}/deviceSessions/{device_session_id}:cancel zmienia wartość DeviceSession na FINISHED i kończy wszystkie połączenia.

create

POST /v1/projects/{id_projektu}/deviceSessions

get

GET /v1/projects/{identyfikator_projektu}/deviceSessions/{device_session_id} zwraca sesję DeviceSession, która dokumentuje stan przydziału i wskazuje, czy urządzenie zostało przydzielone.

list

GET /v1/projects/{identyfikator_projektu}/deviceSessions zawiera listę sesji na urządzeniu należących do użytkownika projektu.

patch

PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession aktualizuje bieżącą sesję urządzenia do pól opisanych przez update_mask.