Job 佇列 - Amazon Transcribe

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Job 佇列

使用工作佇列時,您可以提交的轉錄工作要求超過同時處理的數量。如果沒有工作佇列,一旦達到允許的並行請求的配額,您必須等到一個或多個請求完成後,才能提交新的請求。

Job 佇列對於轉錄工作要求而言是選擇性的。通話後分析要求會自動啟用工作佇列。

如果啟用工作佇列,Amazon Transcribe會建立一個佇列,其中包含超出限制的所有要求。請求完成後,系統會立即從您的佇列中提取新的請求並處理。佇列的要求會以 FIFO (先進先出) 順序處理。

您最多可新增 10,000 個任務務務務務務務務務務務務務務 如果超過此限制,就會收到LimitExceededConcurrentJobException錯誤訊息。為了維持最佳效能,最多Amazon Transcribe只會使用 90% 的配額 (頻寬比率為 0.9) 來處理佇列的工作。請注意,這些是可以在請求時提高。

提示

您可以在「AWS一般參考」中找到Amazon Transcribe資源的預設限制和配額清單。其中一些預設值可以在請求時提高。

如果您啟用工作佇列,但未超過並行要求的配額,則會同時處理所有要求。

啟用任務務務務務務

您可以使用AWS Management ConsoleAWS CLI、或 AWSSDK 啟用工作佇列;如需範例,請參閱下列範例:

  1. 登入 AWS Management Console

  2. 在功能窗格中,選擇「轉錄工作」,然後選取「建立工作」(右上角)。這會開啟 [指定工作詳細資訊] 頁面。

  3. [Job 設定] 方塊中,有 [其他設定] 面板。如果展開此面板,您可以選取 [新增至工作佇列] 方塊以啟用工作佇列。

    Amazon Transcribe控制台屏幕截圖:「指定作業詳細信息」頁面。
  4. 填入您要包含在 [指定工作詳細資訊] 頁面上的任何其他欄位,然後選取 [下一步]。這會帶您前往 [設定工作-選擇性] 頁面

  5. 選取 [建立工作] 以執行轉錄工作。

此範例使用start-transcription-job指令和job-execution-settings參數搭配AllowDeferredExecution子參數。請注意,當您AllowDeferredExecution在請求中包含時,您還必須包括DataAccessRoleArn

如需詳細資訊,請參閱 StartTranscriptionJobJobExecutionSettings

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --language-code en-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。如需詳細資訊,請參閱 StartTranscriptionJobJobExecutionSettings

如需使用AWS SDK 的其他範例,包括特定功能、案例和跨服務範例,請參閱本使用 SDK 進行 Amazon Transcribe 的代碼示例 AWS章。

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請求來檢視佇列工作的進度。當工作排入佇列時,就StatusQUEUED。工作開始處理後,狀態會變更為COMPLETED或處理完成FAILED時,狀態會變更為。IN_PROGRESS