REST Resource: projects.locations.collections.dataStores.branches.documents

משאב: מסמך

המסמך כולל את כל פרטי המטא-נתונים הגולמיים של הפריטים שיומלצו או ייכללו בחיפוש.

ייצוג JSON
{
  "name": string,
  "id": string,
  "schemaId": string,
  "content": {
    object (Content)
  },
  "parentDocumentId": string,
  "derivedStructData": {
    object
  },
  "aclInfo": {
    object (AclInfo)
  },
  "indexTime": string,
  "indexStatus": {
    object (IndexStatus)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "structData": {
    object
  },
  "jsonData": string
  // End of mutually exclusive fields.
}
שדות
name

string

אי אפשר לשנות. השם המלא של המשאב של המסמך. פורמט: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}

השדה הזה חייב להיות מחרוזת בקידוד UTF-8, עם מגבלת אורך של 1,024 תווים.

id

string

אי אפשר לשנות. המזהה של המסמך.

המזהה צריך להיות בהתאם לתקן RFC-1034, עם מגבלת אורך של 128 תווים.

schemaId

string

המזהה של הסכימה שנמצאת באותו מאגר נתונים.

content

object (Content)

הנתונים הלא מובנים שמקושרים למסמך הזה. אפשר להגדיר תוכן רק אם המסמך הזה נמצא במאגר נתונים של CONTENT_REQUIRED, וחובה להגדיר אותו.

parentDocumentId

string

המזהה של מסמך האב. כרגע יש תמיכה בהיררכיית מסמכים עם שתי רמות לכל היותר.

המזהה צריך להיות תואם לתקן RFC-1034, והאורך שלו צריך להיות עד 63 תווים.

derivedStructData

object (Struct format)

פלט בלבד. השדה הזה הוא OUTPUT_ONLY. הוא מכיל נתונים נגזרים שלא מופיעים במסמך הקלט המקורי.

aclInfo

object (AclInfo)

מידע על בקרת הגישה למסמך.

indexTime

string (Timestamp format)

פלט בלבד. השעה שבה המסמך נוסף לאינדקס בפעם האחרונה.

אם השדה הזה מאוכלס, המשמעות היא שהמסמך נוסף לאינדקס. בדרך כלל, אפשר לחפש מסמכים תוך שניות אחרי שהם נוספים לאינדקס, אבל לפעמים זה יכול לקחת כמה שעות.

אם השדה הזה לא מאוכלס, המשמעות היא שהמסמך מעולם לא נוסף לאינדקס.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

indexStatus

object (IndexStatus)

פלט בלבד. סטטוס האינדקס של המסמך.

  • אם המסמך נוסף לאינדקס בהצלחה, השדה indexTime יאוכלס.
  • אחרת, אם המסמך לא נוסף לאינדקס בגלל שגיאות, השדה errorSamples יאוכלס.
  • אחרת, אם מתבצעת יצירת אינדקס של המסמך, השדה pendingMessage מאוכלס.
ייצוג נתונים. צריך לספק את אחד מהערכים struct_data או json_data, אחרת מוצגת שגיאה INVALID_ARGUMENT. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
structData

object (Struct format)

נתוני ה-JSON המובְנים של המסמך. הוא צריך להיות תואם ל-Schema הרשום, אחרת תופיע שגיאת INVALID_ARGUMENT.

jsonData

string

ייצוג מחרוזת ה-JSON של המסמך. הוא צריך להיות תואם ל-Schema הרשום, אחרת תופיע שגיאת INVALID_ARGUMENT.

סוף השדות הבלעדיים.

תוכן

נתונים לא מובנים שמקושרים למסמך הזה.

ייצוג JSON
{
  "mimeType": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "rawBytes": string,
  "uri": string
  // End of mutually exclusive fields.
}
שדות
mimeType

string

סוג ה-MIME של התוכן. סוגים נתמכים:

  • application/pdf (PDF, בשלב הזה יש תמיכה רק בקובצי PDF מקוריים)
  • text/html (HTML)
  • text/plain (TXT)
  • application/xml או text/xml (XML)
  • application/json (JSON)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX)
  • application/vnd.ms-excel.sheet.macroenabled.12 (XLSM)

הסוגים הבאים נתמכים רק אם מנתח הפריסות מופעל במאגר הנתונים:

  • image/bmp (BMP)
  • image/gif (GIF)
  • image/jpeg (JPEG)
  • image/png (PNG)
  • image/tiff (TIFF)

מידע נוסף זמין בכתובת https://www.iana.org/assignments/media-types/media-types.xhtml.

התוכן של המסמך הלא מובנה. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
rawBytes

string (bytes format)

התוכן שמיוצג כזרם של בייטים. האורך המקסימלי הוא 1,000,000 בייטים (1MB / ‎~0.95 MiB).

הערה: כמו בכל השדות של bytes, השדה הזה מיוצג כבינארי טהור ב-Protocol Buffers וכמחרוזת בקידוד base64 ב-JSON. לדוגמה, abc123!?$*&()'-=@~ צריך להיות מיוצג כ-YWJjMTIzIT8kKiYoKSctPUB+ ב-JSON. מידע נוסף זמין בכתובת https://developers.google.com/protocol-buffers/docs/proto3#json.

מחרוזת בקידוד Base64.

uri

string

ה-URI של התוכן. יש תמיכה רק בכתובות URI של Cloud Storage (למשל, gs://bucket-name/path/to/file). גודל הקובץ המקסימלי הוא 2.5MB לפורמטים מבוססי-טקסט, ו-200MB לפורמטים אחרים.

סוף השדות הבלעדיים.

AclInfo

פרטי רשימת ACL של המסמך.

ייצוג JSON
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
שדות
readers[]

object (AccessRestriction)

הקוראים של המסמך.

AccessRestriction

‫AclRestriction כדי ליצור מודל של הגבלות מורכבות של ירושה.

דוגמה: יצירת מודל של ירושת הרשאות מסוג 'שניהם מותרים', שבו כדי לגשת למסמך צאצא, המשתמש צריך לקבל גישה למסמך האב.

היררכיית המסמך – Space_S --> Page_P.

משתמשי קריאה: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2

הגבלת ACL של Space_S – { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ] } ] } }

הגבלת ACL של Page_P. { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_2" }, { "groupId": "group_3" }, { "userId": "user_2" } ], }, { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ], } ] } }

ייצוג JSON
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
שדות
principals[]

object (Principal)

רשימה של חשבונות משתמשים.

idpWide

boolean

כל המשתמשים בספק הזהויות.

חשבון משתמש

מזהה ראשי של משתמש או קבוצה.

ייצוג JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userId": string,
  "groupId": string,
  "externalEntityId": string
  // End of mutually exclusive fields.
}
שדות
העיקרון של שדה איחוד. החשבון הראשי יכול להיות משתמש או קבוצה. בהמשך מפורטת רשימה של שדות שאי אפשר להשתמש בהם בו-זמנית. רק אחד מהשדות הבאים יוגדר בתשובה:
userId

string

מזהה המשתמש. בחשבון משתמש ב-Google Workspace, מזהה המשתמש צריך להיות כתובת האימייל של המשתמש ב-Google Workspace. בחשבון משתמש של ספק זהויות שאינו Google, ‏userId הוא מזהה המשתמש הממופה שהוגדר במהלך ההגדרה של workforcepool.

groupId

string

מזהה הקבוצה. בחשבון משתמש ב-Google Workspace, הערך של groupId צריך להיות כתובת האימייל הקבוצתית של Google Workspace. בחשבון משתמש של ספק זהויות שאינו של Google, ‏groupId הוא מזהה הקבוצה הממופה שהוגדר במהלך ההגדרה של מאגר הזהויות של כוח העבודה.

externalEntityId

string

לזהויות של אפליקציות צד שלישי שלא קיימות בספק הזהויות של הלקוח.

סוף השדות הבלעדיים.

IndexStatus

סטטוס האינדקס של המסמך.

ייצוג JSON
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
שדות
indexTime

string (Timestamp format)

השעה שבה המסמך נוסף לאינדקס. אם השדה הזה מאוכלס, המשמעות היא שהמסמך נוסף לאינדקס. בדרך כלל, אפשר לחפש מסמכים תוך שניות אחרי שהם נוספים לאינדקס, אבל לפעמים זה יכול לקחת כמה שעות.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

דוגמה לשגיאות שנתקלו בהן במהלך יצירת האינדקס של המסמך. אם השדה הזה מאוכלס, המסמך לא נוסף לאינדקס בגלל שגיאות.

pendingMessage

string

אי אפשר לשנות. ההודעה מציינת שהאינדקס של המסמך נמצא בתהליך. אם השדה הזה מאוכלס, האינדקס של המסמך נמצא בהמתנה.

Methods

create

יצירת Document.

delete

מחיקת Document.

get

הפונקציה מחזירה Document.

import

ייבוא בכמות גדולה של כמה Document.

list

מקבל רשימה של Document.

patch

עדכון של Document.

purge

מחיקה סופית של כל Document שנבחרו בענף.