RealtimeDatabaseAuditMetadata

يتم عرض FirebaseRealtimeDatabaseAuditMetaData كجزء من رسائل protoPayload.metadata الجديدة.

تمثيل جيسون
{
  "requestType": enum (RealtimeDatabaseAuditMetadata.RequestType),
  "protocol": enum (RealtimeDatabaseAuditMetadata.Protocol),
  "restMetadata": {
    object (RealtimeDatabaseAuditMetadata.RestMetadata)
  },
  "precondition": {
    object (RealtimeDatabaseAuditMetadata.Precondition)
  },
  "executeDuration": Duration,
  "pendingDuration": Duration,
  "path": string,

  // Union field operation_metadata can be only one of the following:
  "queryMetadata": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata)
  },
  "writeMetadata": {
    object (RealtimeDatabaseAuditMetadata.WriteMetadata)
  }
  // End of list of possible types for union field operation_metadata.
  "estimatedPayloadSizeBytes": int64
}
مجالات
requestType

enum ( RealtimeDatabaseAuditMetadata.RequestType )

الحفاظ على التمييز بين عمليات الوقت الحقيقي وعمليات REST. على عكس مخرجات ملف تعريف RTDB، تعمل سجلات الوصول إلى بيانات تدقيق السحابة لـ RTDB على طي عمليات realtime-* rest-* إلى طرق Read Write Update .

protocol

enum ( RealtimeDatabaseAuditMetadata.Protocol )

قم بتخزين البروتوكول الذي تم استخدامه.

restMetadata

object ( RealtimeDatabaseAuditMetadata.RestMetadata )

التفاصيل ذات الصلة فقط بطلبات REST.

precondition

object ( RealtimeDatabaseAuditMetadata.Precondition )

شرط مسبق اختياري Update . غير موجود لأية طرق أخرى.

executeDuration

Duration

وقت تنفيذ أعمال خادم RTDB. غير موجود لـ: Connect أو Disconnect أو Unlisten .

pendingDuration

Duration

وقت انتظار خادم RTDB قبل بدء التنفيذ. غير موجود لـ: Unlisten الذي بدأه الخادم أو RunOnDisconnect .

path

string

مسار البيانات الذي تم الوصول إليه. غير موجود لـ: Connect أو Disconnect أو RunOnDisconnect .

Union field operation_metadata . مزيد من التفاصيل حول Listen أو Read أو Update . يمكن أن تكون operation_metadata واحدة فقط مما يلي:
queryMetadata

object ( RealtimeDatabaseAuditMetadata.QueryMetadata )

معلومات البيانات الوصفية Listen أو Read .

writeMetadata

object ( RealtimeDatabaseAuditMetadata.WriteMetadata )

معلومات البيانات التعريفية Update .

estimatedPayloadSizeBytes

int64

حجم الاستجابة المقدر للعملية التي تمت مراجعتها بالبايت. لا تستخدم لأغراض الفواتير. غير موجود لـ: Connect أو Disconnect أو Unlisten أو OnDisconnectCancel .

RealtimeDatabaseAuditMetadata.QueryMetadata

تتضمن QueryMetadata تفاصيل إضافية حول الاستعلامات المرسلة Listen أو Read .

تمثيل جيسون
{
  "orderBy": string,
  "direction": enum (RealtimeDatabaseAuditMetadata.QueryMetadata.Direction),
  "startAt": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "endAt": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "equalTo": {
    object (RealtimeDatabaseAuditMetadata.QueryMetadata.Bound)
  },
  "unindexed": boolean,
  "limit": integer
}
مجالات
orderBy

string

كيف يتم ترتيب الاستعلام؟ القيم المحتملة: $key , $priority , $value , <path> .

direction

enum ( RealtimeDatabaseAuditMetadata.QueryMetadata.Direction )

إذا تم استخدام limitToLast ، فسيتم استخدام ASCENDING . إذا تم استخدام limitToFirst ، DESCENDING . إذا لم يتم استخدام أي منهما، ولكن تم استخدام startAt أو startAfter ، فسيتم استخدام DESCENDING . وفي جميع الحالات الأخرى، ASCENDING .

startAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

نقطة بداية الاستعلام.

endAt

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

نقطة نهاية الاستعلام

equalTo

object ( RealtimeDatabaseAuditMetadata.QueryMetadata.Bound )

إذا تم تحديد ذلك، فإن نتائج الاستعلام تتضمن فقط العناصر الفرعية التي تطابق القيمة المحددة.

unindexed

boolean

إذا كان صحيحًا، فإن RTDB لا يستخدم فهرسًا من جانب الخادم لخدمة البيانات الخاصة بالاستعلام. وهذا يعني أن RTDB قد يرسل بيانات أكثر مما يحدده الاستعلام. وإلا غير موجود.

limit

integer

كان الاستعلام مقتصراً على عدد limit الأول أو الأخير من الأطفال. غير موجود عند عدم استخدام limitToLast أو limitToFirst .

RealtimeDatabaseAuditMetadata.QueryMetadata.Bound

Bound هو نقطة نهاية استعلام بمفتاح احتياطي.

تمثيل جيسون
{
  "value": value,
  "key": string,
  "exclusive": boolean
}
مجالات
value

value ( Value format)

قيمة من مثيل قاعدة البيانات.

key

string

المفتاح الاحتياطي. إذا كان الطلب بواسطة $key فسيتم حذف هذا الحقل لأن محتوياته مخزنة في value بدلاً من ذلك.

exclusive

boolean

صحيح إذا تم استخدام startAfter أو endBefore . في هذه الحالة، لن تحتوي نتائج الاستعلام على قيم نقطة النهاية.

RealtimeDatabaseAuditMetadata.WriteMetadata

يتضمن WriteMetadata تفاصيل إضافية حول Update .

تمثيل جيسون
{
  "paths": {
    string: string,
    ...
  }
}
مجالات
paths

map (key: string, value: int64 )

تم تعديل المسارات في تحديث متعدد المسارات مع حجم البيانات المكتوبة في كل مسار.

RealtimeDatabaseAuditMetadata.RestMetadata

تحتوي RestMetadata على تفاصيل ذات صلة بطلبات REST فقط.

تمثيل جيسون
{
  "requestUri": string,
  "requestMethod": enum (RealtimeDatabaseAuditMetadata.RestMetadata.Method)
}
مجالات
requestUri

string

عنوان URL الكامل لقاعدة البيانات، بما في ذلك المسار: https://[NAMESPACE].us-central1.firebasedatabase.app/a/b/c.json .

requestMethod

enum ( RealtimeDatabaseAuditMetadata.RestMetadata.Method )

بالنسبة لطلبات REST، ما هي الطريقة المستخدمة؟ تُرك غير محدد للطلبات غير REST أو إذا لم تكن الطريقة متاحة.

RealtimeDatabaseAuditMetadata.Precondition

يصف Precondition الشرط المسبق، إن وجد، الذي تم استخدامه Update . Update الشروط المسبقة المعروفة بشكل أكثر شيوعًا في RTDB باسم المعاملات.

تمثيل جيسون
{
  "preconditionType": enum (RealtimeDatabaseAuditMetadata.Precondition.PreconditionType),
  "hash": string
}
مجالات
preconditionType

enum ( RealtimeDatabaseAuditMetadata.Precondition.PreconditionType )

نوع الشرط المستخدم.

hash

string

تجزئة SHA1 للبيانات التي يتوقع العميل أن تكون في path . بالنسبة لطلبات REST، يتم إرسال هذه القيمة في رأس ETAG.