

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 작업 대기열
<a name="job-queueing"></a>

작업 대기열을 사용하면 동시에 처리할 수 있는 것보다 더 많은 트랜스크립션 작업 요청을 제출할 수 있습니다. 작업 대기열을 사용하지 않고 허용된 동시 요청 할당량에 도달하면 하나 이상의 요청이 완료될 때까지 기다렸다가 새 요청을 제출해야 합니다.

작업 대기열은 트랜스크립션 작업 및 통화 후 분석 작업 요청 모두에 대해 선택 사항입니다.

작업 대기열을 활성화하면 Amazon Transcribe는 한도를 초과하는 모든 요청을 포함하는 대기열을 생성합니다. 요청이 완료되는 즉시 대기열에서 새 요청을 가져와 처리합니다. 대기 상태인 요청은 FIFO(선입선출)에 따라 처리됩니다.

대기열에 최대 10,000개의 작업을 추가할 수 있습니다. 이 한도를 초과할 경우 `LimitExceededConcurrentJobException` 오류가 발생합니다. 최적의 성능을 유지하기 위해 Amazon Transcribe는 대기 상태인 작업을 처리하는 데 할당량의 최대 90%(대역폭 비율 0.9)까지만 사용합니다. 요청 시 높일 수 있는 기본값이라는 점에 유의하세요.

**작은 정보**  
[AWS 일반 참조](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)에서 Amazon Transcribe 리소스의 기본 한도 및 할당량 목록을 찾을 수 있습니다. 요청 시 이러한 기본값 중 일부를 높일 수 있습니다.

작업 대기열을 활성화했지만 동시 요청 할당량을 초과하지 않은 경우 모든 요청이 동시에 처리됩니다.

## 작업 대기열 활성화
<a name="job-queueing-how"></a>

**AWS Management Console**, **AWS CLI** 또는 **AWS SDK**를 사용하여 작업 대기열을 활성화할 수 있습니다. 예를 보려면 다음을 참조하세요. 예를 보려면 다음을 참조하세요.

### AWS Management Console
<a name="queueing-console-batch"></a>

1. 에 로그인합니다..[AWS Management Console](https://console.aws.amazon.com/transcribe/)

1. 탐색 창에서 **트랜스크립션 작업**을 선택한 다음 **작업 생성**(오른쪽 상단)을 선택합니다. 그러면 **작업 세부 정보 지정** 페이지가 열립니다.

1. **작업 설정** 상자에는 **추가 설정** 패널이 있습니다. 이 패널을 확장하면 **작업 대기열에 추가** 상자를 선택하여 작업 대기열을 활성화할 수 있습니다.  
![\[Amazon Transcribe 콘솔 스크린샷: '작업 세부 정보 지정' 페이지.\]](http://docs.aws.amazon.com/ko_kr/transcribe/latest/dg/images/jobqueueing.png)

1. **작업 세부 정보 지정** 페이지에 포함하려는 다른 필드를 모두 채운 후 **다음**을 선택합니다. 그러면 **작업 구성 - *선택 사항* 페이지**로 이동합니다.

1. **작업 생성**을 선택하여 트랜스크립션 작업을 실행합니다.

### AWS CLI
<a name="queueing-cli"></a>

이 예시에서는 [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) 명령 및 `job-execution-settings` 파라미터를 `AllowDeferredExecution` 하위 파라미터와 함께 사용합니다. 단, 요청에 `AllowDeferredExecution`을 포함시킬 때는 `DataAccessRoleArn` 역시 포함해야 합니다.

자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html)을(를) 참조하세요.

```
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
```

다음은 [start-transcription-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) 명령을 사용하는 또 다른 예 및 대기열을 활성화하는 요청 본문입니다.

```
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://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"
  }
}
```

### AWS SDK for Python (Boto3)
<a name="queueing-python-batch"></a>

이 예시에서는 AWS SDK for Python (Boto3)을 사용하여 [start\$1transcription\$1job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.start_transcription_job) 메서드의 `AllowDeferredExecution` 인수를 사용하여 작업 대기열을 활성화합니다. 단, 요청에 `AllowDeferredExecution`을 포함시킬 때는 `DataAccessRoleArn` 역시 포함해야 합니다. 자세한 내용은 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) 및 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_JobExecutionSettings.html)을(를) 참조하세요.

기능별, 시나리오 및 교차 서비스 예를 포함하여 AWS SDK를 사용하는 추가 예시는 [AWS SDKs를 사용한 Amazon Transcribe의 코드 예제](service_code_examples.md) 장을 참조하세요.

```
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)
```

AWS Management Console을 통해 또는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_GetTranscriptionJob.html) 요청을 제출하여 대기 상태인 작업의 진행 상황을 볼 수 있습니다. 작업이 대기열에 있으면 `Status`는 `QUEUED`입니다. 작업에서 처리가 시작되면 상태가 `IN_PROGRESS`로 변경되고 처리가 완료되면 `COMPLETED` 또는 `FAILED`로 변경됩니다.