0

我执行了从图像中提取文本的 Vision API,在运行示例代码时,它在错误堆栈下方出错。

2017 年 5 月 28 日上午 10:46:48 io.grpc.internal.ManagedChannelImpl 信息:[ManagedChannelImpl@543788f3] 使用目标 vision.googleapis.com:443 com.google.api.gax.grpc.ApiException 创建:io.grpc。 StatusRuntimeException: DEADLINE_EXCEEDED 在 com.google.api.gax.core.ApiFutures$1.onFailure(ApiFutures.java:52) 在 com.google.api.gax.grpc.ExceptionTransformingCallable$ExceptionTransformingFuture.onFailure(ExceptionTransformingCallable.java:109) 结束com.google.common.util.concurrent.Futures$6.run(Futures.java:1764) 在 com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:456) 在 com.google.common .util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:817) 在 com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:753) 在 com.google.common。io.grpc.stub.ClientCalls$GrpcFuture.setException(ClientCalls.java:466) 处的 util.concurrent.AbstractFuture.setException(AbstractFuture.java:634) io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java: 442)在io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:481)在io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$600(ClientCallImpl.java:398)在io.grpc.internal.ClientCallImpl$ ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:513) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52) at io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) at java .util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor 的 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)。 runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 原因:io.grpc.StatusRuntimeException : DEADLINE_EXCEEDED 在 io.grpc.Status.asRuntimeException(Status.java:545) ... 13 更多293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java :745) 引起:io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED at io.grpc.Status.asRuntimeException(Status.java:545) ... 13 更多293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java :745) 引起:io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED at io.grpc.Status.asRuntimeException(Status.java:545) ... 13 更多

我在本地系统中从 Eclipse 运行代码。

我尝试了在某些论坛中找到的以下项目;1) 将所有 netty* jar 从 4.1.6 降级到 4.1.3 2) 将 google-cloud-vision-0.10.0-beta.jar 降级到 google-cloud-vision-0.9.4-beta.jar 3) 添加pom.xml 4) 在 windows 环境变量中添加 GOOGLE_APPLICATION_CREDENTIALS - 指向为服务帐户下载的 JSON 文件

4

1 回答 1

0

在创建存根时尝试设置截止日期

blockingStub = SomeGrpc
    .newBlockingStub(channel)
    .withDeadlineAfter(5, TimeUnit.SECONDS);

看看这是否有帮助

于 2017-08-09T12:54:43.337 回答