このドキュメントでは、作成、取得、更新、削除などのオペレーションを含め、Document AI ウェアハウスでドキュメントを管理する方法について説明します。
ドキュメントとは
ドキュメントは、Document AI ウェアハウスで使用されるデータモデルであり、実世界のドキュメント(PDF や TXT)やその関連プロパティを整理します。ドキュメント上でのオペレーションによって、Document AI ウェアハウスを操作します。
サポートされるファイル形式
Document AI ウェアハウスはドキュメントに重点を置いていますが、関連する画像(保険、エンジニアリング、建設、研究などの業種)の管理にも使用されます。
- Ingest API は、PDF、TIFF、JPEG、PNG の画像と、プロパティや事前に抽出されたテキストをサポートしています。
- アップロード UI は、Document AI OCR とカスタム プロセッサを使用した PDF の抽出をサポートしています。
- ビューア UI は、PDF、テキスト、Microsoft Office ファイルでのレンダリングをサポートしています。
始める前に
始める前に、クイックスタート ページを完了していることを確認してください。
ドキュメントの作成で、データが独自の Cloud Storage バケットに存在する場合は、Document AI Warehouse サービス アカウントにストレージ オブジェクト閲覧者の権限を付与して、データを読み取る必要があります。
各ドキュメントはスキーマで指定され、ドキュメント タイプに属します。ドキュメント スキーマは、Document AI ウェアハウス内のドキュメント構造を定義します。ドキュメントを作成する前に、ドキュメント スキーマを作成する必要があります。
ドキュメントを作成する
ドキュメントを作成するには、Document AI ウェアハウスに未加工のドキュメント コンテンツを提供する必要があります。未加工のドキュメント バイト コンテンツを指定するには、Document.inline_raw_document または Document.raw_document_path のいずれかを設定します。
相違点は次のとおりです。
Document.raw_document_path: このアプローチをおすすめします。取り込むファイルの Cloud Storage パス(gs://bucket/object)を使用します。呼び出しを成功させるには、呼び出し元にこのオブジェクトに対する読み取り権限が必要です。Document.inline_raw_document: エンドポイントに直接提供されるファイルのバイト/テキスト表現。
ドキュメントを作成する手順は次のとおりです。
Cloud Storage からドキュメントをアップロードする
前提条件のセクションで説明したように、Document AI Warehouse サービス アカウントに Cloud Storage バケットへのアクセス権を付与する必要があります。
手順に沿って、ファイルを Cloud Storage バケットにアップロードする必要があります。
REST
リクエスト:
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
]
},
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL_ID"
}
}
}'ローカルマシンからアップロードする
REST
リクエスト:
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/ \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"inline_raw_document": "<bytes>",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL_ID"
}
}
}'ドキュメントを取得する
document_id:
REST
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID:get"Python
詳細については、Document AI Warehouse Python API リファレンス ドキュメントをご覧ください。
Document AI Warehouse に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
詳細については、Document AI Warehouse Java API リファレンス ドキュメントをご覧ください。
Document AI Warehouse に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
詳細については、Document AI Warehouse Node.js API リファレンス ドキュメントをご覧ください。
Document AI Warehouse に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
reference_id:
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/referenceId/REFERENCE_ID:get"ドキュメントを更新する
document_id:
REST
posix-terminal
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/DOCUMENT_SCHEMA_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
{
"name": "invoice_id",
"text_values": {
"values": "invoiceid"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL"
}
}
}'
Python
詳細については、Document AI Warehouse Python API リファレンス ドキュメントをご覧ください。
Document AI Warehouse に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
詳細については、Document AI Warehouse Java API リファレンス ドキュメントをご覧ください。
Document AI Warehouse に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
reference_id:
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=utf-8" \
--data '{
"document": {
"display_name": "TestDoc3",
"document_schema_name": "projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/referenceId/REFERENCE_ID",
"raw_document_path": "gs://BUCKET_URI/FILE_URI",
"properties": [
{
"name": "supplier_name",
"text_values": {
"values": "Stanford Plumbing & Heating"
}
},
{
"name": "total_amount",
"float_values": {
"values": "1091.81"
}
},
{
"name": "invoice_id",
"text_values": {
"values": "invoiceid"
}
},
]
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL"
}
}
}'ドキュメントを削除する
REST
document_id:
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID:delete"reference_id:
curl --request POST \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" -d '{
"requestMetadata":{
"userInfo":{
"id": "user:USER_EMAIL"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/referenceId/REFERENCE_ID":delete"次のステップ
- フォルダでドキュメントを整理する方法については、フォルダでドキュメントを整理するに進んでください。