Enfileiramento de tarefas - Amazon Transcribe

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Enfileiramento de tarefas

Usando o enfileiramento de tarefas, você pode enviar mais solicitações de trabalhos de transcrição do que as que podem ser processadas simultaneamente. Sem o enfileiramento de tarefas, quando você atinge a cota de solicitações simultâneas permitidas, é necessário esperar até que uma ou mais solicitações sejam concluídas para só então enviar uma nova solicitação.

O enfileiramento de tarefas é opcional para solicitações de trabalho de transcrição. Nas solicitações de análise pós-chamada, o enfileiramento de tarefas é habilitado automaticamente.

Se você habilitar o enfileiramento de trabalhos, Amazon Transcribe cria uma fila que contém todas as solicitações que excedem seu limite. Assim que uma solicitação é concluída, uma nova solicitação é retirada da fila e processada. As solicitações enfileiradas são processadas na ordem FIFO (primeiro a entrar, primeiro a sair).

Você pode adicionar até dez mil trabalhos à fila. Se você exceder esse limite, receberá um erro LimitExceededConcurrentJobException. Para manter o desempenho ideal, usa Amazon Transcribe apenas até 90% da sua cota (uma taxa de largura de banda de 0,9) para processar trabalhos em fila. Observe que esses são valores padrão que podem ser aumentados por meio de uma solicitação.

dica

Você pode encontrar uma lista de limites e cotas padrão para Amazon Transcribe recursos na Referência AWS geral. Alguns desses padrões podem ser aumentados por meio de uma solicitação.

Se você habilitar o enfileiramento de tarefas, mas não exceder a cota de solicitações simultâneas, todas as solicitações serão processadas simultaneamente.

Habilitar o enfileiramento de tarefas

Você pode ativar o enfileiramento de trabalhos usando o AWS Management Console, AWS CLI, ou AWS SDKs; veja os exemplos a seguir; consulte o seguinte para obter exemplos:

  1. Faça login no AWS Management Console.

  2. No painel de navegação, escolha Tarefas de transcrição e selecione Criar tarefa (no canto superior direito). Isso abre a página Especificar os detalhes da tarefa.

  3. Na caixa Configurações de tarefa, há o painel Configurações adicionais. Se você expandir esse painel, poderá selecionar a caixa Adicionar à fila de tarefas para habilitar o enfileiramento de tarefas.

    Amazon Transcribe captura de tela do console: a página “especificar detalhes do trabalho”.
  4. Preencha os outros campos que deseja incluir na página Especificar os detalhes da tarefa e selecione Próximo. Isso leva você à página Configurar tarefa: opcional.

  5. Selecione Criar tarefa para executar a tarefa de transcrição.

Este exemplo usa o start-transcription-jobcomando e o job-execution-settings parâmetro com o AllowDeferredExecution subparâmetro. Observe que, ao incluir AllowDeferredExecution na solicitação, você também deve incluir DataAccessRoleArn.

Para ter mais informações, consulte StartTranscriptionJob e JobExecutionSettings.

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac \ --output-bucket-name amzn-s3-demo-bucket \ --output-key my-output-files/ \ --language-code en-US \ --job-execution-settings AllowDeferredExecution=true,DataAccessRoleArn=arn:aws:iam::111122223333:role/ExampleRole

Aqui está outro exemplo usando o start-transcription-jobcomando e um corpo de solicitação que permite o enfileiramento.

aws transcribe start-transcription-job \ --region us-west-2 \ --cli-input-json file://my-first-queueing-request.json

O arquivo my-first-queueing-request.json contém o seguinte corpo da solicitação.

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" }, "OutputBucketName": "amzn-s3-demo-bucket", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "JobExecutionSettings": { "AllowDeferredExecution": true, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole" } }

Este exemplo usa o AWS SDK for Python (Boto3) para habilitar o enfileiramento de trabalhos usando o AllowDeferredExecution argumento do método start_transcription_job. Observe que, ao incluir AllowDeferredExecution na solicitação, você também deve incluir DataAccessRoleArn. Para ter mais informações, consulte StartTranscriptionJob e JobExecutionSettings.

Para obter exemplos adicionais de uso do AWS SDKs, incluindo exemplos específicos de recursos, cenários e entre serviços, consulte o capítulo. Exemplos de código para o Amazon Transcribe usando AWS SDKs

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-queueing-request" job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'amzn-s3-demo-bucket', OutputKey = 'my-output-files/', LanguageCode = 'en-US', JobExecutionSettings = { 'AllowDeferredExecution': True, 'DataAccessRoleArn': 'arn:aws:iam::111122223333:role/ExampleRole' } ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)

Você pode visualizar o progresso de um trabalho em fila por meio do AWS Management Console ou enviando uma solicitação. GetTranscriptionJob Quando um trabalho está na fila, o Status é QUEUED. O status muda para IN_PROGRESS quando o trabalho começa a ser processado e, em seguida, muda para COMPLETED ou FAILED quando o processamento é concluído.