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 เช่น "โปรเจ็กต์/{projectId}/deviceSessions/{session_id}"

displayName

string

เอาต์พุตเท่านั้น ชื่อของ DeviceSession ที่จะแสดงใน UI

state

enum (SessionState)

เอาต์พุตเท่านั้น สถานะปัจจุบันของ DeviceSession

stateHistories[]

object (SessionStateEvent)

เอาต์พุตเท่านั้น การเปลี่ยนสถานะประวัติของข้อความ sessionState รวมถึงสถานะเซสชันปัจจุบัน

inactivityTimeout

string (Duration format)

เอาต์พุตเท่านั้น ระยะเวลาที่ต้องมีการโต้ตอบกับอุปกรณ์นี้ก่อนที่อุปกรณ์จะเปลี่ยนจาก ACTIVE เป็น TIMEOUT_INACTIVITY

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" ตัวอย่างเช่น "3.5s"

createTime

string (Timestamp format)

เอาต์พุตเท่านั้น เวลาที่สร้างเซสชัน

การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

activeStartTime

string (Timestamp format)

เอาต์พุตเท่านั้น การประทับเวลาที่เซสชันเปลี่ยนสถานะเป็น "ใช้งานอยู่" เป็นครั้งแรก

การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

androidDevice

object (AndroidDevice)

ต้องระบุ อุปกรณ์ที่ขอ

ช่องการรวม expiration

expiration ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

ttl

string (Duration format)

ไม่บังคับ ระยะเวลาที่จะจัดสรรอุปกรณ์ในตอนแรก ซึ่งท้ายที่สุดแล้วสามารถขยายเวลาได้ด้วย RPC deviceSessions.patch ค่าเริ่มต้น: 15 นาที

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" ตัวอย่างเช่น "3.5s"

expireTime

string (Timestamp format)

ไม่บังคับ หากยังมีการใช้งานอุปกรณ์อยู่ การเชื่อมต่อทั้งหมดจะสิ้นสุดลงและ SessionState จะเปลี่ยนจาก ACTIVE เป็น FINISHED

การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

สถานะของเซสชัน

สถานะที่มีเซสชันของอุปกรณ์อยู่

Enum
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 UTC "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}:cancel เปลี่ยน DeviceSession เป็น FINISHED และสิ้นสุดการเชื่อมต่อทั้งหมด

create

โพสต์ /v1/projects/{project_id}/deviceSessions

get

รับ /v1/projects/{project_id}/deviceSessions/{device_session_id} แสดงผล DeviceSession ซึ่งจะบันทึกสถานะการจัดสรรและระบุว่าอุปกรณ์มีการจัดสรรหรือไม่

list

GET /v1/projects/{project_id}/deviceSessions แสดงรายการเซสชันของอุปกรณ์ของผู้ใช้โปรเจ็กต์

patch

P Watch /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession อัปเดตเซสชันของอุปกรณ์ปัจจุบันเป็นช่องที่อธิบายโดยupdate_mask