AWS Перевести: Получить DetectedLanguageCode из DetectedLanguageLowConfidenceException - PullRequest
0 голосов
/ 24 февраля 2020

Я играюсь с AWS Немного перевожу. Я хочу AWS Перевести для автоматического определения исходного языка при отправке запроса TranslateTextAsyn c. По-видимому, может существовать исключение DetectedLanguageLowConfidenceException, которое я хочу обработать, получив DetectedLanguageCode из исключения и повторив перевод. Мне не удалось получить это исключение, поэтому я не знаю структуру этого исключения ответа.

Для Java SDK я обнаружил, что есть функция "getDetectedLanguageCode", но ее нет в. NET SDK. Я использую AWSSDK.Translate v3.3.101.12.

Как получить код языка из исключения DetectedLanguageLowConfidenceException?

1 Ответ

2 голосов
/ 24 февраля 2020

Я связался с AWS Службой поддержки, и они обратились к их AWS команде переводчиков. Они пишут, что

C # /. Net не поддерживает переменные-члены в исключениях, как Java. Однако дополнительная информация об исключениях хранится в словаре данных исключения

. Они также отмечают, что AWS Переводчик обычно использует даже предположение с низкой достоверностью, прежде чем выдавать исключение 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.
}
...