本文档介绍了如何管理 Document AI Warehouse 中的文档,包括创建、提取、更新和删除操作。
什么是文档
文档是 Document AI Warehouse 中用于整理实际文档(例如 PDF 或 TXT)及其关联属性的数据模型。您可以通过对文档执行操作来与 Document AI Warehouse 互动。
支持的文件类型
虽然 Document AI Warehouse 的重点是文档,但它也用于管理关联的图片(例如,在保险、工程、建筑和研究等垂直行业中)。
- Ingest API 支持 PDF 和 TIFF、JPEG 和 PNG 图片,以及任何属性或预提取的文本。
- 上传界面支持使用 Document AI OCR 和自定义处理器提取 PDF。
- 查看器界面支持以 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"后续步骤
- 请继续参阅将文档整理到文件夹中 ,了解如何将文档整理到文件夹中。