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 を取得します。

import

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

list

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

patch

Document を更新します。

purge

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