Tôi đang cố gắng tạo PoC cho Google Cloud DocumentAI V1 bằng cái này
Tôi đang sử dụng DocAI để chuyển đổi các tệp .pdf thành văn bản bằng DocAI BatchProcessing. Tôi đã tạo ứng dụng bảng điều khiển với mã bên dưới, ứng dụng này hoạt động tốt với một tài liệu. Nhưng khi tôi cố gắng xử lý nhiều tài liệu pdf, nó sẽ đưa ra ngoại lệ,
Grpc.Core.RpcException: 'Trạng thái (Mã trạng thái = "Đã vượt quá thời hạn",
Detail="Đã quá thời hạn",
DebugException="Grpc.Core.Internal.CoreErrorDetailException:
{"created":"@1650465671.748000000","description":"Hạn chót
Đã vượt quá","file":"......\src\core\ext\filters\deadline\deadline_filter.cc","file_line":81,"grpc_status":4}")'
lớp tĩnh công khai DocAIBatchProcess
{
const string projectId = "PROJECTID";
const string processorId = "PROCESSID";
vị trí chuỗi const = "chúng tôi";
const string gcsInputBucketName = "BUCKETNAME";
const string gcsOutputBucketName = "gs://BUCKETNAME/OUTPUTFOLDER/";
const string gcsOutputUriPrefix = "PREFIX";
const string prefix = "INPUTFOLDER/";
dấu phân cách chuỗi const = "/";
bool tĩnh công khai BatchProcessDocument(IEnumerable<GCPStorage.Object> storageObjects này)
{
Console.WriteLine("\n");
Console.WriteLine("Đang xử lý tài liệu...");
Console.WriteLine("----------------------------------");
DocumentProcessorServiceClient documentProcessorServiceClient = DocumentProcessorServiceClient.Create();
tên chuỗi = $"projects/{projectId}/locations/{location}/processors/{processorId}";
GcsDocument gcsDocument = null;
GcsDocuments gcsDocuments = new GcsDocuments();
var lưu trữ = StorageClient.Create();
foreach (var storageObject trong storageObjects)
{
nếu (storageObject.Name != tiền tố)
{
gcsDocument = GcsDocument mới()
{
GcsUri = $"gs://gcsInputBucketName/{storageObject.Name}",
MimeType = "ứng dụng/pdf"
};
gcsDocuments.Documents.Add(gcsDocument);
}
}
//Cấu hình đầu vào
BatchDocumentsInputConfig inputConfig = new BatchDocumentsInputConfig();
inputConfig.GcsDocuments = gcsDocuments;
//Cấu hình đầu ra
var fullGcsPath = $"gs://{gcsOutputBucketName}/{gcsOutputUriPrefix}/";
GcsOutputConfig gcsOutputConfig = new GcsOutputConfig();
gcsOutputConfig.GcsUri = gcsOutputBucketName;
DocumentOutputConfig documentOutputConfig = new DocumentOutputConfig();
documentOutputConfig.GcsOutputConfig = gcsOutputConfig;
// Định cấu hình yêu cầu xử lý hàng loạt.
BatchProcessRequest batchProcessRequest = BatchProcessRequest mới();
batchProcessRequest.Name = tên;
batchProcessRequest.InputDocuments = inputConfig;
batchProcessRequest.DocumentOutputConfig = documentOutputConfig;
// Thực hiện yêu cầu
Operation<BatchProcessResponse, BatchProcessMetadata> phản hồi = documentProcessorServiceClient.BatchProcessDocuments(batchProcessRequest);
// Thăm dò cho đến khi hoạt động chạy dài được trả về hoàn tất
Operation<BatchProcessResponse, BatchProcessMetadata> CompleteResponse = response.PollUntilCompleted();
// Lấy kết quả phép toán
BatchProcessResponse kết quả = hoàn thànhResponse.Result;
}
}
DeadlineExceeded : "Hạn chót đã hết trước khi hoạt động có thể hoàn thành."
Tôi đã cố gắng tìm kiếm tài liệu nhưng không thể tìm thấy bất kỳ thứ gì được tạo ra. Nếu ai đó biết về lý do tại sao điều này đang xảy ra? Bất kỳ sự trợ giúp nào cũng sẽ được đánh giá cao.