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

リソース: ドキュメント

Document は、推奨または検索されるアイテムのすべての未加工のメタデータ情報をキャプチャします。

JSON 表現
{
  "name": string,
  "id": string,
  "schemaId": string,
  "content": {
    object (Content)
  },
  "parentDocumentId": string,
  "derivedStructData": {
    object
  },
  "aclInfo": {
    object (AclInfo)
  },
  "indexTime": string,
  "indexStatus": {
    object (IndexStatus)
  },

  // Union field data can be only one of the following:
  "structData": {
    object
  },
  "jsonData": string
  // End of list of possible types for union field data.
}
フィールド
name

string

変更不可。ドキュメントの完全なリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}/branches/{branch}/documents/{documentId}

このフィールドは、長さの上限が 1,024 文字の UTF-8 でエンコードされた文字列にする必要があります。

id

string

変更不可。ドキュメントの識別子。

ID は RFC-1034 標準に準拠し、長さの上限は 128 文字です。

schemaId

string

同じデータストアにあるスキーマの ID。

content

object (Content)

このドキュメントにリンクされている非構造化データ。このドキュメントが CONTENT_REQUIRED データストアにある場合、コンテンツは設定可能であり、設定する必要があります。

parentDocumentId

string

親ドキュメントの識別子。現在、最大 2 レベルのドキュメント階層がサポートされています。

ID は RFC-1034 標準に準拠し、長さは 63 文字以内にする必要があります。

derivedStructData

object (Struct format)

出力専用。このフィールドは OUTPUT_ONLY です。元の入力ドキュメントにはない派生データが含まれています。

aclInfo

object (AclInfo)

ドキュメントのアクセス制御情報。

indexTime

string (Timestamp format)

出力専用。ドキュメントが最後にインデックスに登録された時刻。このフィールドが設定されている場合、ドキュメントが検索結果で返される可能性があります。

このフィールドは OUTPUT_ONLY です。このフィールドが入力されていない場合、ドキュメントは一度もインデックスに登録されていません。

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 フィールドに値が入力されます。
共用体フィールド data。データ表現。struct_data または json_data のいずれかを指定する必要があります。指定しないと、INVALID_ARGUMENT エラーがスローされます。data は次のいずれかになります。
structData

object (Struct format)

ドキュメントの構造化 JSON データ。登録された Schema に準拠している必要があります。準拠していない場合は INVALID_ARGUMENT エラーがスローされます。

jsonData

string

ドキュメントの JSON 文字列表現。登録された Schema に準拠している必要があります。準拠していない場合は INVALID_ARGUMENT エラーがスローされます。

コンテンツ

このドキュメントにリンクされている非構造化データ。

JSON 表現
{
  "mimeType": string,

  // Union field content can be only one of the following:
  "rawBytes": string,
  "uri": string
  // End of list of possible types for union field content.
}
フィールド
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 をご覧ください。

共用体フィールド content。非構造化ドキュメントの内容。content は次のいずれかになります。
rawBytes

string (bytes format)

バイト ストリームとして表されるコンテンツ。最大長は 1,000,000 バイト(1 MB / 約 0.95 MiB)です。

注: すべての bytes フィールドと同様に、このフィールドは Protocol Buffers では純 2 進数として表され、JSON では base64 でエンコードされた文字列として表されます。たとえば、abc123!?$*&()'-=@~ は JSON で YWJjMTIzIT8kKiYoKSctPUB+ として表されます。https://developers.google.com/protocol-buffers/docs/proto3#json をご覧ください。

Base64 でエンコードされた文字列。

uri

string

コンテンツの URI。Cloud Storage URI(gs://bucket-name/path/to/file など)のみがサポートされています。テキストベースの形式のファイルの最大サイズは 2.5 MB、その他の形式の場合は 200 MB です。

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

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

Page_P ACL 制限。{ "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

ID プロバイダ内のすべてのユーザー。

プリンシパル

ユーザーまたはグループのプリンシパル ID。

JSON 表現
{

  // Union field principal can be only one of the following:
  "userId": string,
  "groupId": string,
  "externalEntityId": string
  // End of list of possible types for union field principal.
}
Fields
共用体フィールド principal。共用体フィールド principal。プリンシパルは、ユーザーまたはグループにすることができます。principal は次のいずれかになります。
userId

string

ユーザー識別子。Google Workspace ユーザー アカウントの場合、userId は Google Workspace ユーザーのメールアドレスにする必要があります。Google 以外の ID プロバイダのユーザー アカウントの場合、userId は workforcepool 構成時に構成されたマッピングされたユーザー ID です。

groupId

string

グループ ID。Google Workspace ユーザー アカウントの場合、groupId は Google Workspace グループのメールアドレスである必要があります。Google 以外の ID プロバイダのユーザー アカウントの場合、groupId は workforcepool 構成時に構成されたマッピングされたグループ ID です。

externalEntityId

string

お客様の ID プロバイダに存在しないサードパーティ アプリケーション ID。

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

変更不可。このメッセージは、ドキュメント インデックス作成が進行中であることを示しています。このフィールドが入力されている場合、ドキュメント インデックスは保留中です。

メソッド

create

Document を作成します。

delete

Document を削除します。

get

Document を取得します。

getProcessedDocument

Document の解析済みレイアウト情報を取得します。

import

複数の Document の一括インポート。

list

Document のリストを取得します。

patch

Document を更新します。

purge

ブランチ内の選択したすべての Document を完全に削除します。