def import_documents()

in movie_search_metadata/demo_app/_vais_setup.py [0:0]


def import_documents(project_id, location, datastore_id, bucket):
    client_options = (
        ClientOptions(api_endpoint=f'{location}-discoveryengine.googleapis.com')
        if location != 'global'
        else None
    )
    client = discoveryengine.DocumentServiceClient(client_options=client_options)
    
    parent = client.branch_path(
        project=project_id,
        location=location,
        data_store=datastore_id,
        branch='default_branch'
    )


    request = discoveryengine.ImportDocumentsRequest(
        parent=parent,
        gcs_source=discoveryengine.GcsSource(
            input_uris=[f'{bucket}/metadata/*.txt'],
            data_schema='content',
        ),
        reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.FULL
    )

    operation = client.import_documents(request=request)
    print(f'Waiting for operation to complete: {operation.operation.name}')
    print('This may take around 30 mins...')
    response = operation.result(timeout=3600)

    return response