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

النتائج فقط. عنوان Devicesession الذي سيتم عرضه في واجهة المستخدم.

state

enum (SessionState)

النتائج فقط. الحالة الحالية لـ DeviceSession

stateHistories[]

object (SessionStateEvent)

النتائج فقط. انتقالات الحالة السابقة لرسالة sessionState، بما في ذلك حالة الجلسة الحالية.

inactivityTimeout

string (Duration format)

النتائج فقط. الفاصل الزمني الذي يجب التفاعل معه على هذا الجهاز قبل أن ينتقل من ACTIVE إلى 🔐_INACTIVITY.

مدة بالثواني مكونة من تسعة أرقام كسور كحد أقصى وتنتهي بالأرقام "s" مثال: "3.5s"

createTime

string (Timestamp format)

النتائج فقط. الوقت الذي تم فيه إنشاء الجلسة

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z".

activeStartTime

string (Timestamp format)

النتائج فقط. الطابع الزمني الذي أصبحت فيه الجلسة نشطة لأول مرة.

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z".

androidDevice

object (AndroidDevice)

مطلوب. الجهاز المطلوب

حقل الاتحاد expiration.

يمكن أن يكون expiration واحدًا فقط مما يلي:

ttl

string (Duration format)

هذه السمة اختيارية. مقدار الوقت الذي سيتم تخصيص الجهاز له في البداية. ويمكن تمديد ذلك في النهاية باستخدام deviceSessions.patch RPC. الإعداد التلقائي: 15 دقيقة.

مدة بالثواني مكونة من تسعة أرقام كسور كحد أقصى وتنتهي بالأرقام "s" مثال: "3.5s"

expireTime

string (Timestamp format)

هذه السمة اختيارية. إذا كان الجهاز لا يزال قيد الاستخدام في الوقت الحالي، سيتم إنهاء أي اتصالات وستنتقل حالة SessionState من "نشط" إلى "تم الانتهاء".

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "2014-10-02T15:01:23Z" و"2014-10-02T15:01:23.045123456Z".

حالة الجلسة

يشير إلى الحالة التي تتوفّر فيها جلسة الجهاز.

تعدادات
SESSION_STATE_UNSPECIFIED القيمة التلقائية. هذه القيمة غير مستخدمة.
REQUESTED الحالة الأولية لطلب جلسة يتم التحقّق من صحة الجلسة ولم يتم طلب جهاز بعد.
PENDING تم التحقّق من صحة الجلسة وهي في قائمة الانتظار لأحد الأجهزة.
ACTIVE تم منح الجلسة ويقبل الجهاز الاتصالات.
EXPIRED تجاوزت مدة الجلسة الفترة الزمنية لحجز الجهاز وانتهت المهلة تلقائيًا.
FINISHED أنهى المستخدم الجلسة وتم إلغاؤها أثناء فترة تخصيص الطلب أو بعد التخصيص وخلال فترة استخدام الجهاز.
UNAVAILABLE تعذَّر إكمال الجلسة لأنّ الجهاز لم يكن متاحًا وتعذّر تخصيصه من خلال أداة الجدولة. على سبيل المثال، تم طلب جهاز غير مُدرَج في الكتالوج أو انتهت صلاحية الطلب في قائمة انتظار التخصيص.
ERROR تعذَّر إكمال الجلسة لسبب داخلي، مثل تعطُّل البنية الأساسية.

حدث SessionStateEvent

رسالة تحتوي على سلسلة من حالات الجلسة والوقت الذي دخلت فيه DeviceSession لأول مرة هذه الحالات.

تمثيل JSON
{
  "sessionState": enum (SessionState),
  "eventTime": string,
  "stateMessage": string
}
الحقول
sessionState

enum (SessionState)

النتائج فقط. حالة الجلسة التي تم تتبعها من خلال هذا الحدث

eventTime

string (Timestamp format)

النتائج فقط. الوقت الذي واجهت فيه sessionState هذه الحالة لأول مرة.

طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: "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 إلى حالة "تم الانتهاء منه" وإنهاء جميع الاتصالات.

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.