任务队列列任务队列 - Amazon Transcribe

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

任务队列列任务队列

使用作业队列,您提交的转录任务请求可以多于可同时处理的转录任务请求。如果没有任务排队,一旦达到允许的并发请求配额,就必须等到一个或多个请求完成后才能提交新请求。

对于转录任务请求,Job 排队是可选的。通话后分析请求会自动启用任务队列。

如果您启用作业队列,则Amazon Transcribe会创建一个包含所有超出限制的请求的队列。请求完成后,系统会立即从您的队列中提取新请求并进行处理。排队的请求按照 FIFO(先进先出)顺序处理。

您最多可以请求我们放放放放放平任务队列列我们放放平任务队列列 如果您超过此限制,则会出现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. 选择 “创建作业” 以运行转录作业。

此示例使用带有AllowDeferredExecutionjob-execution-settings参数的start-transcription-job命令和参数。请注意,当您在请求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" } }

此示例使用 start_transcription_job 方法的AllowDeferredExecution参数启用作业队列。AWS SDK for Python (Boto3)请注意,当您在请求AllowDeferredExecution中包含时,还必须包括DataAccessRoleArn。有关更多信息,请参阅 StartTranscriptionJobJobExecutionSettings

有关使用AWS软件开发工具包的其他示例,包括特定功能、场景和跨服务示例,请参阅本使用软件开发工具包的 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。任务开始处理IN_PROGRESS后,状态将更改为,然后在处理完成FAILED时更改为COMPLETED或完成。