我处于一种谷歌云视频智能混乱中。我正在使用 c# 和 google.cloud.videointelligence.v1 (2.0.0) api 来请求视频的注释(功能 TEXT_DETECTION),所以这个客户端:
client = Google.Cloud.VideoIntelligence.V1.VideoIntelligenceServiceClient.Create()
操作开始,我可以在日志中看到它,一切都很好,所以我等待结束:
client.PollUntilCompleted()
或异步版本。问题是我遇到了臭名昭著的 ResourceExhausted 异常,这还不错,结果相当大......那么我如何告诉视频智能不返回它而只接收完成的事件?我想也许在这里使用这个字段:
var annotationRequest = new global::Google.Cloud.VideoIntelligence.V1.AnnotateVideoRequest();
annotationRequest.OutputUri = annotationRequest.InputUri + ".json";
它完成了他被要求做的事情,将结果写入文件中,但另一端仍然试图将它发送到客户端并且 PollUntilCompleted 崩溃(重复我自己,视频智能中的操作成功结束)。那么我该怎么办,只是接受客户端将尝试返回结果对象并崩溃?
PS 我相信我可以使用存储客户端在 OutputUri 中下载结果。试过一次,180 到 40 MB,速度很慢,但可能是我的网络或电脑的问题。
问题 n.2
与此同时,我尝试使用 gcloud 来了解发生了什么,所以(希望我记得正确的 cmdline):
gcloud ml video operations wait a/b/c/d....
但是 cli 似乎只是吃掉了它可以吃掉的所有内存并且永远不会返回:在半小时内它获得了 14.75 GB 的内存和我相信的其他一些虚拟内存,所以我终止了 python 进程。如果必须,我什至不知道如何删除操作,我无法从任何地方访问它。
我是否以错误的方式使用这些东西?这些是已知的错误吗?