AWS翻译:从DetectedLanguageLowConfidenceException中获取DetectedLanguageCode

问题描述 投票:0回答:1

我正在玩AWS Translate。当我发送TranslateTextAsync请求时,我希望AWS Translate自动检测源语言。显然,可能存在一个DetectedLanguageLowConfidenceException,我想通过从异常中获取DetectedLanguageCode并重试转换来处理该异常。我无法使此异常发生,因此我不知道该响应异常的结构。

对于Java SDK,我发现有一个“ getDetectedLanguageCode”函数,但是.NET SDK中不存在此函数。我正在使用AWSSDK.Translate v3.3.101.12。

如何从DetectedLanguageLowConfidenceException中获取语言代码?

amazon-web-services exception .net-core translate
1个回答
0
投票

我联系了AWS支持,他们联系了他们的AWS Translate团队。他们写道

C#/。Net不像Java那样支持成员变量。但是,有关异常的补充信息存储在异常的数据字典中

[他们还提到,AWS Translate通常会在抛出DetectedLanguageLowConfidenceException之前甚至使用低置信度猜测,因此似乎我们不必为此担心。

我仍然去实现异常处理,并使用以下代码来提取检测到的语言代码数据。这段代码未经测试:

catch (DetectedLanguageLowConfidenceException ex)
{
    var dictionary = ex.Data as Dictionary<object, object>;
    var detectedLanguageCode = dictionary?["DetectedLanguageCode"] as string;

    // Retry here with the detected low confidence language code.
}
© www.soinside.com 2019 - 2024. All rights reserved.