如何在 Google 云请求中设置最大接收消息长度?
How to set the max receive message length in Google Cloud request?
我有以下 Google 云调用:
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 中打开了一个 Public 问题。虽然,我没有它的预计到达时间,但您可以跟踪 here.
我有以下 Google 云调用:
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 中打开了一个 Public 问题。虽然,我没有它的预计到达时间,但您可以跟踪 here.