Проверьте статус задания транскрипции - PullRequest
0 голосов
/ 11 июня 2018

Я сталкиваюсь с исключением с Amazon Transcribe , когда я пытаюсь получить результат транскрипции.Я не нашел способа передать обратный вызов или получить уведомление, когда транскрипция завершена.Поэтому я регулярно проверяю, доступен ли результат.

Вот мой код:

var getTranscriptionJobRequest = new GetTranscriptionJobRequest()
{
    TranscriptionJobName = fileName
};

// Regularly check the request status
GetTranscriptionJobResponse getTranscriptionJobResponse;
do
{
  Thread.Sleep(250); // Wait 250 ms
  getTranscriptionJobResponse = amazonTSClient.GetTranscriptionJob(getTranscriptionJobRequest);
}
while (getTranscriptionJobResponse.TranscriptionJob.TranscriptionJobStatus != TranscriptionJobStatus.COMPLETED);

И вот исключение:

Amazon.TranscribeService.AmazonTranscribeServiceException: 'Rate exceeded'

Я нашел здесь что ошибка вызвана слишком большим количеством запросов к API AWS.

Итак, мой вопрос:

Можно ли получать уведомления, когда результат транскрипциидоступно? Или, если нет, какова максимальная скорость вызова для API AWS?

1 Ответ

0 голосов
/ 23 октября 2018

Уведомление от AWS Transcribe основано на его интеграции с AWS CloudWatch.Пример правила наблюдения за облаком:

{
  "source": [
    "aws.transcribe"
  ],
  "detail-type": [
    "Transcribe Job State Change"
  ],
  "detail": {
    "TranscriptionJobStatus": [
      "COMPLETED",
      "FAILED"
    ]
  }
}

Результирующее событие в CloudWatch:

 {
   "version": "0",
   "id": "event ID",
   "detail-type":"Transcribe Job State Change",
   "source": "aws.transcribe",
   "account": "account ID",
   "time": "timestamp",
   "region": "region",
   "resources": [],
   "detail": {
     "TranscriptionJobName": "unique job name",
     "TranscriptionJobStatus": "status"
   }
 }

Дополнительная информация:

При опросе максимальная скорость вызова GetTranscriptionJob составляет ~ 3 в секунду.Эти и другие ограничения скорости задокументированы здесь:

...