ทรัพยากร: DeviceSession
ข้อความ Protobuf ที่อธิบายข้อความในอุปกรณ์ซึ่งใช้จาก RPC หลายรายการ
การแสดง JSON |
---|
{ "name": string, "displayName": string, "state": enum ( |
ช่อง | |
---|---|
name |
ไม่บังคับ ชื่อของ DeviceSession เช่น "โปรเจ็กต์/{projectId}/deviceSessions/{session_id}" |
displayName |
เอาต์พุตเท่านั้น ชื่อของ DeviceSession ที่จะแสดงใน UI |
state |
เอาต์พุตเท่านั้น สถานะปัจจุบันของ DeviceSession |
stateHistories[] |
เอาต์พุตเท่านั้น การเปลี่ยนสถานะประวัติของข้อความ sessionState รวมถึงสถานะเซสชันปัจจุบัน |
inactivityTimeout |
เอาต์พุตเท่านั้น ระยะเวลาที่ต้องมีการโต้ตอบกับอุปกรณ์นี้ก่อนที่อุปกรณ์จะเปลี่ยนจาก ACTIVE เป็น TIMEOUT_INACTIVITY ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
createTime |
เอาต์พุตเท่านั้น เวลาที่สร้างเซสชัน การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
activeStartTime |
เอาต์พุตเท่านั้น การประทับเวลาที่เซสชันเปลี่ยนสถานะเป็น "ใช้งานอยู่" เป็นครั้งแรก การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
androidDevice |
ต้องระบุ อุปกรณ์ที่ขอ |
ช่องการรวม
|
|
ttl |
ไม่บังคับ ระยะเวลาที่จะจัดสรรอุปกรณ์ในตอนแรก ซึ่งท้ายที่สุดแล้วสามารถขยายเวลาได้ด้วย RPC deviceSessions.patch ค่าเริ่มต้น: 15 นาที ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
expireTime |
ไม่บังคับ หากยังมีการใช้งานอุปกรณ์อยู่ การเชื่อมต่อทั้งหมดจะสิ้นสุดลงและ SessionState จะเปลี่ยนจาก ACTIVE เป็น FINISHED การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
สถานะของเซสชัน
สถานะที่มีเซสชันของอุปกรณ์อยู่
Enum | |
---|---|
SESSION_STATE_UNSPECIFIED |
ค่าเริ่มต้น ค่านี้ไม่ได้ใช้ |
REQUESTED |
สถานะเริ่มต้นของคำขอเซสชัน เซสชันกำลังตรวจสอบความถูกต้องและยังไม่ได้ขออุปกรณ์ |
PENDING |
เซสชันได้รับการตรวจสอบแล้ว และอยู่ในคิวสำหรับอุปกรณ์ |
ACTIVE |
ให้สิทธิ์เซสชันแล้วและอุปกรณ์กำลังยอมรับการเชื่อมต่อ |
EXPIRED |
ระยะเวลาเซสชันเกินระยะเวลาการจองของอุปกรณ์และหมดเวลาโดยอัตโนมัติ |
FINISHED |
ผู้ใช้ดำเนินเซสชันนี้เสร็จแล้ว และผู้ใช้ถูกยกเลิกขณะที่คำขอยังได้รับการจัดสรรอยู่ หรือหลังจากการจัดสรรและในระหว่างระยะเวลาการใช้งานอุปกรณ์ |
UNAVAILABLE |
ดำเนินการเซสชันให้เสร็จสมบูรณ์ไม่ได้เนื่องจากอุปกรณ์ไม่พร้อมใช้งานและจัดสรรผ่านเครื่องจัดตารางเวลาไม่สำเร็จ เช่น มีการขออุปกรณ์ที่ไม่ได้อยู่ในแคตตาล็อกหรือคำขอหมดอายุในคิวการจัดสรร |
ERROR |
ดำเนินการเซสชันไม่สำเร็จเนื่องจากเหตุผลภายใน เช่น โครงสร้างพื้นฐานล้มเหลว |
เหตุการณ์สถานะของเซสชัน
ข้อความสรุปชุดสถานะเซสชันและเวลาที่ DeviceSession เข้าสู่สถานะเหล่านั้นเป็นครั้งแรก
การแสดง JSON |
---|
{
"sessionState": enum ( |
ช่อง | |
---|---|
sessionState |
เอาต์พุตเท่านั้น sessionState ที่ติดตามโดยเหตุการณ์นี้ |
eventTime |
เอาต์พุตเท่านั้น เวลาที่ sessionState พบสถานะนั้นเป็นครั้งแรก การประทับเวลาเป็น RFC3339 UTC "Zulu" โดยมีความละเอียดระดับนาโนวินาทีและมีเลขเศษส่วนสูงสุด 9 หลัก ตัวอย่าง: |
stateMessage |
เอาต์พุตเท่านั้น ข้อความที่มนุษย์อ่านได้เพื่ออธิบายรัฐ |
เมธอด |
|
---|---|
|
POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel เปลี่ยน DeviceSession เป็น FINISHED และสิ้นสุดการเชื่อมต่อทั้งหมด |
|
โพสต์ /v1/projects/{project_id}/deviceSessions |
|
รับ /v1/projects/{project_id}/deviceSessions/{device_session_id} แสดงผล DeviceSession ซึ่งจะบันทึกสถานะการจัดสรรและระบุว่าอุปกรณ์มีการจัดสรรหรือไม่ |
|
GET /v1/projects/{project_id}/deviceSessions แสดงรายการเซสชันของอุปกรณ์ของผู้ใช้โปรเจ็กต์ |
|
P Watch /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession อัปเดตเซสชันของอุปกรณ์ปัจจุบันเป็นช่องที่อธิบายโดยupdate_mask |