このドキュメントでは、作成、取得、更新、削除などのオペレーションを含め、Document AI Warehouse でドキュメントを管理する方法について説明します。
ドキュメントとは
ドキュメントは、Document AI Warehouse で使用されるデータモデルであり、実世界のドキュメント(PDF や TXT)やその関連プロパティを整理します。ドキュメント上でのオペレーションによって、Document AI ウェアハウスを操作します。
サポートされるファイル形式
Document AI Warehouse の主な対象はドキュメントですが、関連する画像(保険、エンジニアリング、建設、研究などの業種)の管理にも使用されます。
- Ingest API は、PDF、TIFF、JPEG、PNG の画像と、プロパティや事前に抽出されたテキストをサポートしています。
- アップロード UI は、Document AI OCR とカスタム プロセッサを使用した PDF の抽出をサポートしています。
- ビューアの UI は、PDF、テキスト、Microsoft Office ファイルでのレンダリングをサポートしています。
始める前に
始める前に、クイックスタート ページを完了していることを確認してください。
ドキュメントの作成で、データが独自の Cloud Storage バケットに存在する場合は、Document AI Warehouse サービス アカウントにストレージ オブジェクト閲覧者の権限を付与して、データを読み取る必要があります。
各ドキュメントはスキーマで指定され、ドキュメント タイプに属します。ドキュメント スキーマは、Document AI Warehouse 内のドキュメント構造を定義します。ドキュメントを作成する前に、ドキュメント スキーマを作成する必要があります。
ドキュメントを作成する
ドキュメントを作成するには、Document AI Warehouse に未加工のドキュメント コンテンツを提供する必要があります。未加工のドキュメント バイト コンテンツを指定するには、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"次のステップ
- フォルダでドキュメントを整理する方法については、フォルダでドキュメントを整理するに進んでください。