如何解决如何在Google Cloud请求中设置最大接收消息长度?
我有以下Google Cloud电话:
var builder = new TextToSpeechClientBuilder();
builder.JsonCredentials = @"...";
var client = builder.Build();
var data = client.SynthesizeSpeech(new SynthesisInput { Ssml = text },new VoiceSelectionParams { LanguageCode = culture.TwoLetterISOLanguageName },new AudioConfig { AudioEncoding = AudioEncoding.Linear16,SampleRateHertz = 8000 }).AudioContent;
它引发以下异常:
Grpc.Core.RpcException: 'Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (4675411 vs. 4194304)")'
该请求小于2000个字节,因此响应似乎太大。服务器希望发送响应,但客户端无法接受。 如何增加此限制?
解决方法
为了克服错误Received message larger than max (4675411 vs. 4194304)
,您需要将入站邮件大小设置为更大的值。您可以在实例化构建器时执行此操作,就像创建通道时一样。在下面,这是您的操作方法:
textToSpeechClient = TextToSpeechClient.create(TextToSpeechSettings
.newBuilder()
.setTransportChannelProvider(
TextToSpeechSettings.defaultGrpcTransportProviderBuilder()
.setMaxInboundMessageSize(8790801)
.build())
.build());
Here是setMaxInboundMessageSize
方法的文档。
更新: 据我了解,您想使用C#,并且由于找不到用于设置入站消息大小的方法,例如Java(如上所述)。我已经在Google内公开发布了一个问题。虽然我没有预计到达时间,但您可以跟踪here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。