本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Job 佇列
使用工作佇列時,您可以提交的轉錄工作要求超過同時處理的數量。如果沒有工作佇列,一旦達到允許的並行請求的配額,您必須等到一個或多個請求完成後,才能提交新的請求。
Job 佇列對於轉錄工作要求而言是選擇性的。通話後分析要求會自動啟用工作佇列。
如果啟用工作佇列,Amazon Transcribe會建立一個佇列,其中包含超出限制的所有要求。請求完成後,系統會立即從您的佇列中提取新的請求並處理。佇列的要求會以 FIFO (先進先出) 順序處理。
您最多可新增 10,000 個任務務務務務務務務務務務務務務 如果超過此限制,就會收到LimitExceededConcurrentJobException
錯誤訊息。為了維持最佳效能,最多Amazon Transcribe只會使用 90% 的配額 (頻寬比率為 0.9) 來處理佇列的工作。請注意,這些是可以在請求時提高。
提示
您可以在「AWS一般參考」中找到Amazon Transcribe資源的預設限制和配額清單。其中一些預設值可以在請求時提高。
如果您啟用工作佇列,但未超過並行要求的配額,則會同時處理所有要求。
啟用任務務務務務務
您可以使用AWS Management ConsoleAWS CLI、或 AWSSDK 啟用工作佇列;如需範例,請參閱下列範例:
-
在功能窗格中,選擇「轉錄工作」,然後選取「建立工作」(右上角)。這會開啟 [指定工作詳細資訊] 頁面。
-
在 [Job 設定] 方塊中,有 [其他設定] 面板。如果展開此面板,您可以選取 [新增至工作佇列] 方塊以啟用工作佇列。
-
填入您要包含在 [指定工作詳細資訊] 頁面上的任何其他欄位,然後選取 [下一步]。這會帶您前往 [設定工作-選擇性] 頁面。
-
選取 [建立工作] 以執行轉錄工作。
此範例使用start-transcription-jobjob-execution-settings
參數搭配AllowDeferredExecution
子參數。請注意,當您AllowDeferredExecution
在請求中包含時,您還必須包括DataAccessRoleArn
。
如需詳細資訊,請參閱 StartTranscriptionJob
及 JobExecutionSettings
。
aws transcribe start-transcription-job \ --region
us-west-2
\ --transcription-job-namemy-first-transcription-job
\ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
\ --output-bucket-nameDOC-EXAMPLE-BUCKET
\ --output-keymy-output-files
/ \ --language-codeen-US
\ --job-execution-settings AllowDeferredExecution=true,DataAccessRoleArn=arn:aws:iam::111122223333
:role/ExampleRole
以下是使用start-transcription-job
aws transcribe start-transcription-job \ --region
us-west-2
\ --cli-input-json file://my-first-queueing-request
.json
該文件 my-first-queueing-request.json 包含以下請求主體。
{ "TranscriptionJobName": "
my-first-transcription-job
", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET
", "OutputKey": "my-output-files
/", "LanguageCode": "en-US
", "JobExecutionSettings": { "AllowDeferredExecution": true, "DataAccessRoleArn": "arn:aws:iam::111122223333
:role/ExampleRole
" } }
這個範例會AWS SDK for Python (Boto3)使用啟用工作佇列,使用AllowDeferredExecution
引數來啟用工作AllowDeferredExecution
在請求中包含時,您還必須包括DataAccessRoleArn
。如需詳細資訊,請參閱 StartTranscriptionJob
及 JobExecutionSettings
。
如需使用AWS SDK 的其他範例,包括特定功能、案例和跨服務範例,請參閱本使用 的 Amazon Transcribe 程式碼範例 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://DOC-EXAMPLE-BUCKET
/my-input-files
/my-media-file
.flac
" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-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)
您可以透過AWS Management Console或提交GetTranscriptionJob
請求來檢視佇列工作的進度。當工作排入佇列時,就Status
是QUEUED
。工作開始處理後,狀態會變更為COMPLETED
或處理完成FAILED
時,狀態會變更為。IN_PROGRESS