폴더를 만들고 문서 연결하기
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
Python
자세한 내용은 Document AI Warehouse Python API 참고 문서를 참고하세요.
Document AI Warehouse에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
from google.cloud import contentwarehouse
# TODO(developer): Uncomment these variables before running the sample.
# project_number = "YOUR_PROJECT_NUMBER"
# location = "us" # Format is 'us' or 'eu'
# user_id = "user:xxxx@example.com" # Format is "user:xxxx@example.com"
def create_folder(
project_number: str, location: str, user_id: str
) -> contentwarehouse.Document:
# Create a Schema Service client
document_schema_client = contentwarehouse.DocumentSchemaServiceClient()
# The full resource name of the location, e.g.:
# projects/{project_number}/locations/{location}
parent = document_schema_client.common_location_path(
project=project_number, location=location
)
# Define Folder Schema Request
create_folder_schema_request = contentwarehouse.CreateDocumentSchemaRequest(
parent=parent,
document_schema=contentwarehouse.DocumentSchema(
display_name="Test Folder Schema ",
document_is_folder=True,
),
)
# Create a Folder Schema
folder_schema = document_schema_client.create_document_schema(
request=create_folder_schema_request
)
# Create a Document(Folder) Service client
folder_client = contentwarehouse.DocumentServiceClient()
# Define Folder
folder = contentwarehouse.Document(
display_name="My Test Folder",
document_schema_name=folder_schema.name,
)
# Define Request to create Folder
create_folder_request = contentwarehouse.CreateDocumentRequest(
parent=parent,
document=folder,
request_metadata=contentwarehouse.RequestMetadata(
user_info=contentwarehouse.UserInfo(id=user_id)
),
)
# Create a Folder for the given schema
folder_response = folder_client.create_document(request=create_folder_request)
# Read the output
print(f"Rule Engine Output: {folder_response.rule_engine_output}")
print(f"Folder Created: {folder_response.document}")
return folder_response
def create_document(
project_number: str, location: str, user_id: str
) -> contentwarehouse.Document:
# Create a Schema Service client
document_schema_client = contentwarehouse.DocumentSchemaServiceClient()
# The full resource name of the location, e.g.:
# projects/{project_number}/locations/{location}
parent = document_schema_client.common_location_path(
project=project_number, location=location
)
# Define Schema Property of Text Type
property_definition = contentwarehouse.PropertyDefinition(
name="stock_symbol", # Must be unique within a document schema (case insensitive)
display_name="Searchable text",
is_searchable=True,
text_type_options=contentwarehouse.TextTypeOptions(),
)
# Define Document Schema Request
create_document_schema_request = contentwarehouse.CreateDocumentSchemaRequest(
parent=parent,
document_schema=contentwarehouse.DocumentSchema(
display_name="My Test Schema",
property_definitions=[property_definition],
),
)
# Create a Document schema
document_schema = document_schema_client.create_document_schema(
request=create_document_schema_request
)
# Create a Document Service client
document_client = contentwarehouse.DocumentServiceClient()
# The full resource name of the location, e.g.:
# projects/{project_number}/locations/{location}
parent = document_client.common_location_path(
project=project_number, location=location
)
# Define Document Property Value
document_property = contentwarehouse.Property(
name=document_schema.property_definitions[0].name,
text_values=contentwarehouse.TextArray(values=["GOOG"]),
)
# Define Document
document = contentwarehouse.Document(
display_name="My Test Document",
document_schema_name=document_schema.name,
plain_text="This is a sample of a document's text.",
properties=[document_property],
)
# Define Request
create_document_request = contentwarehouse.CreateDocumentRequest(
parent=parent,
document=document,
request_metadata=contentwarehouse.RequestMetadata(
user_info=contentwarehouse.UserInfo(id=user_id)
),
)
# Create a Document for the given schema
document_response = document_client.create_document(request=create_document_request)
# Read the output
print(f"Rule Engine Output: {document_response.rule_engine_output}")
print(f"Document Created: {document_response.document}")
return document_response
def create_folder_link_document(
project_number: str, location: str, user_id: str
) -> None:
# Function call to create a folder
folder = create_folder(project_number, location, user_id)
# Function call to create a Document
document = create_document(project_number, location, user_id)
# Create a Link Service client
link_client = contentwarehouse.DocumentLinkServiceClient()
# Initialize request argument(s)
link = contentwarehouse.DocumentLink(
source_document_reference=contentwarehouse.DocumentReference(
document_name=folder.document.name,
),
target_document_reference=contentwarehouse.DocumentReference(
document_name=document.document.name,
),
)
# Initialize document link request
create_document_link_request = contentwarehouse.CreateDocumentLinkRequest(
parent=folder.document.name,
document_link=link,
request_metadata=contentwarehouse.RequestMetadata(
user_info=contentwarehouse.UserInfo(id=user_id)
),
)
# Make the Document Link request
create_link_response = link_client.create_document_link(
request=create_document_link_request
)
print(f"Link Created: {create_link_response}")
# Initialize list linked targets request
linked_targets_request = contentwarehouse.ListLinkedTargetsRequest(
parent=folder.document.name,
request_metadata=contentwarehouse.RequestMetadata(
user_info=contentwarehouse.UserInfo(id=user_id)
),
)
# Make the request
linked_targets_response = link_client.list_linked_targets(
request=linked_targets_request
)
print(f"Validate Link Created: {linked_targets_response}")
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저 참조하기