이 페이지에서는 폴더를 간략히 설명하고 폴더를 사용하여 문서를 관리하는 방법을 설명합니다.
Document AI Warehouse 폴더란 무엇인가요?
폴더는 특별한 유형의 문서입니다. 인라인 콘텐츠를 포함하거나 연결된 콘텐츠가 있을 수 없지만 사용자는 폴더에 속성을 추가할 수 있습니다.
폴더는 문서를 그룹화하고 라벨을 지정하는 컨테이너의 역할을 합니다. 사용자는 문서를 여러 폴더에 첨부할 수 있으며 폴더에는 여러 문서가 포함될 수 있습니다.
폴더는 documents.search API에서 특정 폴더 아래의 하위 문서를 필터링하는 데에도 사용할 수 있습니다.
시작하기 전에
시작하기 전에 빠른 시작 페이지를 완료했는지 확인하세요.
스키마가 있는 Document AI Warehouse 폴더 만들기
폴더를 인스턴스화하기 위한 스키마를 만들려면 다음 단계를 따르세요.
REST
요청:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" -d '{
"display_name": "abc",
"property_definitions": [
{
"name": "Name",
"display_name": "Name",
"is_repeatable": false,
"is_filterable": true,
"is_searchable": true,
"is_metadata": true,
"is_required": true,
"text_type_options": {},
"schema_sources": []
}
],
"document_is_folder": true
}' \
"https://contentwarehouse.googleapis.com/v1/projects/406397197218/locations/us/documentSchemas"응답:
{
"name": "SCHEMA_NAME",
"displayName": "abc",
"documentIsFolder": true,
"updateTime": "2022-08-31T16:10:43.111978Z",
"createTime": "2022-08-31T16:10:43.111978Z"
}Python
from google.cloud import contentwarehouse_v1
def create_folder_schema():
# Create a client
client = contentwarehouse_v1.DocumentSchemaServiceClient()
# Initialize request argument(s)
document_schema = contentwarehouse_v1.DocumentSchema()
document_schema.display_name = "display_name_value"
document_schema.document_is_folder = True
request = contentwarehouse_v1.CreateDocumentSchemaRequest(
parent="projects/533503808294/locations/us",
document_schema=document_schema,
)
# Make the request
return client.create_document_schema(request=request)
Document AI Warehouse 폴더에 문서 추가
폴더에 문서를 추가하려면 다음 단계를 따르세요.
REST
요청:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" -d '{
"document_link": {
"source_document_reference": {
"document_name": "projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}"
},
"target_document_reference": {
"document_name": "projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}"
}
},
"requestMetadata": {
"userInfo": {
"id": "user:USER_EMAIL_ID"
}
}
}' \
"https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/{document_id}/documentLinks"응답:
{
"name": "LINK_NAME",
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME"
}
}Python
from google.cloud import contentwarehouse_v1
def add_to_folder(folder:str, doc:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
link = contentwarehouse_v1.DocumentLink()
link.source_document_reference = contentwarehouse_v1.DocumentReference()
link.source_document_reference.document_name = folder
link.target_document_reference = contentwarehouse_v1.DocumentReference()
link.target_document_reference.document_name = doc
request = contentwarehouse_v1.CreateDocumentLinkRequest(
parent=folder,
document_link=link,
)
# Make the request
return client.create_document_link(request=request)
Document AI Warehouse 폴더를 만들고 문서를 연결합니다.
Python
자세한 내용은 Document AI Warehouse Python API 참고 문서를 참고하세요.
Document AI Warehouse에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Document AI Warehouse 폴더 아래의 하위 문서 나열
폴더 아래의 직계 하위 문서를 나열하려면 다음을 실행하세요.
REST
요청:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/FOLDER/linkedTargets응답:
{
"documentLinks": [
{
"name": "LINK_NAME1"
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME1"
}
},
{
"name": "LINK_NAME2"
"source_document_reference": {
"document_name": "FOLDER_NAME"
},
"target_document_reference": {
"document_name": "DOCUMENT_NAME2"
}
}
...
]
}Python
from google.cloud import contentwarehouse_v1
def list_sub_docs(folder:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
request = contentwarehouse_v1.ListLinkedTargetsRequest(
parent=folder,
)
# Make the request
return client.list_linked_targets(request=request)
Document AI Warehouse 폴더에서 문서 삭제하기
폴더에서 문서를 삭제하려면 링크 이름이 필요합니다. 이전 단계의 documents.linkedTargets 메서드를 사용하여 링크 이름을 검색할 수 있습니다.
REST
요청:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documents/FOLDER/documentLinks/LINK:deletePython
from google.cloud import contentwarehouse_v1
def remove_doc_from_folder(link:str):
# Create a client
client = contentwarehouse_v1.DocumentLinkServiceClient()
# Initialize request argument(s)
request = contentwarehouse_v1.DeleteDocumentLinkRequest(
name=link,
)
# Make the request
return client.delete_document_link(request=request)