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

Resource: Document

Dokumen mencatat semua informasi metadata mentah item yang akan direkomendasikan atau ditelusuri.

Representasi 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.
}
Kolom
name

string

Tidak dapat diubah. Nama lengkap resource dokumen. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}.

Kolom ini harus berupa string berenkode UTF-8 dengan batas panjang 1.024 karakter.

id

string

Tidak dapat diubah. ID dokumen.

ID harus sesuai dengan standar RFC-1034 dengan batas panjang 128 karakter.

schemaId

string

ID skema yang berada di penyimpanan data yang sama.

content

object (Content)

Data tidak terstruktur yang ditautkan ke dokumen ini. Konten hanya dapat disetel dan harus disetel jika dokumen ini berada di penyimpanan data CONTENT_REQUIRED.

parentDocumentId

string

ID dokumen induk. Saat ini mendukung hierarki dokumen paling banyak dua tingkat.

ID harus sesuai dengan standar RFC-1034 dengan batas panjang 63 karakter.

derivedStructData

object (Struct format)

Hanya output. Kolom ini bersifat OUTPUT_ONLY. Dokumen ini berisi data turunan yang tidak ada dalam dokumen input asli.

aclInfo

object (AclInfo)

Informasi kontrol akses untuk dokumen.

indexTime

string (Timestamp format)

Hanya output. Waktu saat dokumen terakhir diindeks.

Jika kolom ini terisi, berarti dokumen telah diindeks. Meskipun dokumen biasanya dapat ditelusuri dalam hitungan detik setelah pengindeksan, terkadang hal ini dapat memerlukan waktu hingga beberapa jam.

Jika kolom ini tidak diisi, artinya dokumen belum pernah diindeks.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

indexStatus

object (IndexStatus)

Hanya output. Status indeks dokumen.

  • Jika dokumen berhasil diindeks, kolom indexTime akan diisi.
  • Jika tidak, jika dokumen tidak diindeks karena error, kolom errorSamples akan diisi.
  • Jika tidak, jika pengindeksan dokumen sedang berlangsung, kolom pendingMessage akan diisi.
Representasi data. Salah satu dari struct_data atau json_data harus diberikan. Jika tidak, error INVALID_ARGUMENT akan ditampilkan. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
structData

object (Struct format)

Data JSON terstruktur untuk dokumen. Harus sesuai dengan Schema yang terdaftar atau error INVALID_ARGUMENT akan ditampilkan.

jsonData

string

Representasi string JSON dokumen. Harus sesuai dengan Schema yang terdaftar atau error INVALID_ARGUMENT akan ditampilkan.

Akhir kolom yang saling eksklusif.

Isi

Data tidak terstruktur yang ditautkan ke dokumen ini.

Representasi 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.
}
Kolom
mimeType

string

Jenis MIME konten. Jenis yang didukung:

  • application/pdf (PDF, hanya PDF asli yang didukung untuk saat ini)
  • text/html (HTML)
  • text/plain (TXT)
  • application/xml atau 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)

Jenis berikut hanya didukung jika parser tata letak diaktifkan di penyimpanan data:

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

Lihat https://www.iana.org/assignments/media-types/media-types.xhtml.

Isi dokumen tidak terstruktur. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
rawBytes

string (bytes format)

Konten yang direpresentasikan sebagai aliran byte. Panjang maksimum adalah 1.000.000 byte (1 MB / ~0,95 MiB).

Catatan: Seperti semua kolom bytes, kolom ini direpresentasikan sebagai biner murni di Protocol Buffers dan string berenkode base64 di JSON. Misalnya, abc123!?$*&()'-=@~ harus ditampilkan sebagai YWJjMTIzIT8kKiYoKSctPUB+ di JSON. Lihat https://developers.google.com/protocol-buffers/docs/proto3#json.

String berenkode base64.

uri

string

URI konten. Hanya URI Cloud Storage (misalnya, gs://bucket-name/path/to/file) yang didukung. Ukuran file maksimum adalah 2,5 MB untuk format berbasis teks, 200 MB untuk format lainnya.

Akhir kolom yang saling eksklusif.

AclInfo

Informasi ACL Dokumen.

Representasi JSON
{
  "readers": [
    {
      object (AccessRestriction)
    }
  ]
}
Kolom
readers[]

object (AccessRestriction)

Pembaca dokumen.

AccessRestriction

AclRestriction untuk memodelkan batasan pewarisan yang kompleks.

Contoh: Memodelkan pewarisan "Izinkan Keduanya", di mana untuk mengakses dokumen turunan, pengguna harus memiliki akses ke dokumen induk.

Hierarki Dokumen - Space_S --> Page_P.

Pembaca: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2

Pembatasan ACL Space_S - { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ] } ] } }

Pembatasan ACL Page_P. { "aclInfo": { "readers": [ { "principals": [ { "groupId": "group_2" }, { "groupId": "group_3" }, { "userId": "user_2" } ], }, { "principals": [ { "groupId": "group_1" }, { "userId": "user_1" } ], } ] } }

Representasi JSON
{
  "principals": [
    {
      object (Principal)
    }
  ],
  "idpWide": boolean
}
Kolom
principals[]

object (Principal)

Daftar prinsipal.

idpWide

boolean

Semua pengguna dalam Penyedia Identitas.

Utama

ID principal pengguna atau grup.

Representasi 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.
}
Kolom
Principal kolom gabungan. Principal dapat berupa pengguna atau grup. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
userId

string

ID pengguna. Untuk akun pengguna Google Workspace, userId harus berupa email pengguna Google Workspace. Untuk akun pengguna penyedia identitas non-Google, userId adalah ID pengguna yang dipetakan dan dikonfigurasi selama konfigurasi workforcepool.

groupId

string

ID grup. Untuk akun pengguna Google Workspace, groupId harus berupa email grup Google Workspace. Untuk akun pengguna penyedia identitas non-Google, groupId adalah ID grup yang dipetakan dan dikonfigurasi selama konfigurasi workforcepool.

externalEntityId

string

Untuk identitas aplikasi pihak ketiga yang tidak ada di penyedia identitas pelanggan.

Akhir kolom yang saling eksklusif.

IndexStatus

Status indeks dokumen.

Representasi JSON
{
  "indexTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ],
  "pendingMessage": string
}
Kolom
indexTime

string (Timestamp format)

Waktu saat dokumen diindeks. Jika kolom ini terisi, berarti dokumen telah diindeks. Meskipun dokumen biasanya dapat ditelusuri dalam hitungan detik setelah pengindeksan, terkadang hal ini dapat memerlukan waktu hingga beberapa jam.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Contoh error yang terjadi saat mengindeks dokumen. Jika kolom ini diisi, dokumen tidak diindeks karena error.

pendingMessage

string

Tidak dapat diubah. Pesan menunjukkan bahwa pengindeksan dokumen sedang berlangsung. Jika kolom ini diisi, indeks dokumen sedang menunggu.

Metode

create

Membuat Document.

delete

Menghapus Document.

get

Mendapatkan Document.

import

Impor massal beberapa Document.

list

Mendapatkan daftar Document.

patch

Memperbarui Document.

purge

Menghapus permanen semua Document yang dipilih di cabang.