

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

# Amazon Transcribe과 함께 Amazon EventBridge 사용
<a name="monitoring-events"></a>

Amazon EventBridge를 사용하면 다른 AWS 서비스에서 이벤트를 트리거하여 Amazon Transcribe 작업의 상태 변경에 대응할 수 있습니다. 트랜스크립션 작업으로 상태가 변경되면 EventBridge에서는 이벤트 스트림으로 이벤트를 자동으로 전송합니다. 이벤트 스트림에서 모니터링하고자 하는 이벤트를 정의하고, 이벤트 발생 시 EventBridge에서 취해야 할 조치를 정의하는 규칙을 생성합니다. 조치를 취할 수 있는 또 다른 서비스(또는 대상)로 이벤트를 라우팅하는 경우를 예로 들 수 있습니다. 예를 들어, 트랜스크립션 작업이 성공적으로 완료되면 AWS Lambda 함수로 이벤트를 라우팅하는 규칙을 구성할 수 있습니다. [EventBridge 규칙](#defining-rules)을 정의하려면 다음 섹션을 참조하세요.

이메일, [채팅 애플리케이션의 Amazon Q Developer](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) 채팅 알림 또는 [AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html) 푸시 알림을 비롯한 여러 채널을 통해 이벤트에 대한 알림을 받을 수 있습니다. [콘솔 알림 센터](https://console.aws.amazon.com/notifications/)에서도 알림을 볼 수 있습니다. 알림을 설정하려는 경우 [AWS User Notifications](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html)를 사용할 수 있습니다. AWS User Notifications에서는 집계를 지원하므로 특정 이벤트 중에 받는 알림 수를 줄일 수 있습니다.

## EventBridge 규칙 정의
<a name="defining-rules"></a>

EventBridge 규칙을 정의하려면 [AWS Management Console](https://console.aws.amazon.com/events)을 사용하세요. 규칙을 정의할 때 Amazon Transcribe를 서비스 이름으로 사용하세요. EventBridge 규칙을 만드는 방법에 대한 예는 [Amazon EventBridge 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)을 참조하세요.

EventBridge를 사용하기 전에 다음 정의에 유의하세요.
+ **이벤트**–이벤트는 트랜스크립션 작업 중 하나의 상태 변화를 나타냅니다. 작업의 `TranscriptionJobStatus`가 `IN_PROGRESS`에서 `COMPLETED`로 변경되는 경우를 예로 들 수 있습니다.
+ **대상**–대상은 이벤트를 처리하는 또 다른 AWS 서비스입니다. 예를 들면 AWS Lambda 또는 Amazon Simple Notification Service(Amazon SNS)가 있습니다. 대상은 JSON 형식으로 이벤트를 수신합니다.
+ **규칙**–규칙은 EventBridge에서 감시하도록 하려는 수신 이벤트를 매칭하여 처리를 위해 하나 또는 여러 개의 대상으로 이를 라우팅합니다. 규칙이 하나의 이벤트를 여러 대상으로 라우팅하는 경우, 모든 대상은 이벤트를 병렬 방식으로 처리합니다. 규칙은 대상으로 전송된 JSON을 사용자 지정할 수 있습니다.

Amazon EventBridge 이벤트는 최선의 작업을 기반으로 발생됩니다. EventBridge에서 이벤트를 만들고 관리하는 방법에 대한 자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge 이벤트](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)를 참조하세요.

다음은 트랜스크립션 작업의 상태가 `COMPLETED` 또는 `FAILED`로 변경될 때 시작되는 Amazon Transcribe의 EventBridge 규칙 예시입니다.

```
{
    "source": [
        "aws.transcribe"
    ],
    "detail-type": [
        "Transcribe Job State Change"
    ],
    "detail": {
        "TranscriptionJobStatus": [
            "COMPLETED",
            "FAILED"
        ]
    }
}
```

규칙에는 다음 필드가 포함됩니다.
+ `source`–이벤트의 원본. Amazon Transcribe의 경우 항상 `aws.transcribe`입니다.
+ `detail-type`–이벤트 세부 정보에 대한 식별자. Amazon Transcribe의 경우 항상 `Transcribe Job State Change`입니다.
+ `detail`–트랜스크립션 작업의 새 상태. 이 예시에서 규칙은 작업 상태가 `COMPLETED` 또는 `FAILED`로 변경될 때 이벤트를 시작합니다.

## Amazon Transcribe 이벤트
<a name="events"></a>

Amazon EventBridge는 여러 Amazon Transcribe 이벤트를 로깅합니다.
+ [트랜스크립션 작업 이벤트](#job-event)
+ [언어 식별 이벤트](#lang-id-event)
+ [통화 분석 이벤트](#analytics-event)
+ [통화 분석 통화 후 이벤트](#analytics-stream-event)
+ [어휘 이벤트](#vocab-event)

이러한 이벤트는 모두 다음과 같은 공유 필드를 포함합니다.
+ `version`: 이벤트 데이터의 버전. 이 값은 항상 `0`입니다.
+ `id`: EventBridge에서 이벤트에 대해 생성한 고유 식별자.
+ `detail-type`: 이벤트 세부 정보에 대한 식별자. 예를 들어 `Transcribe Job State Change`입니다.
+ `source`: 이벤트의 원본. Amazon Transcribe의 경우 항상 `aws.transcribe`입니다.
+ `account`: API 호출을 생성한 계정의 AWS 계정.
+ `time`: 이벤트가 전달된 날짜 및 시간.
+ `region`: 요청이 이루어진 AWS 리전.
+ `resources`: API 호출에서 사용한 리소스. Amazon Transcribe의 경우 이 필드는 항상 비어 있습니다.
+ `detail`: 이벤트에 대한 추가 세부 정보.
  + `FailureReason`: 이 필드는 상태 또는 상태가 `FAILED`로 변경될 경우 표시되며 `FAILED` 상태의 이유를 설명합니다.
  + 각 이벤트 유형에는 `detail` 아래에 표시되는 고유한 추가 필드가 있습니다. 이러한 고유 필드는 각 이벤트 예시 후 다음 섹션에서 정의합니다.

### 트랜스크립션 작업 이벤트
<a name="job-event"></a>

작업의 상태가 `IN_PROGRESS`에서 `COMPLETED` 또는 `FAILED`로 바뀌면 Amazon Transcribe에서 이벤트를 생성합니다. 상태가 바뀐 작업을 식별하고 대상에서 이벤트를 시작하려면 이벤트의 `TranscriptionJobName` 필드를 사용합니다. Amazon Transcribe 이벤트에는 다음 정보가 포함됩니다. 트랜스크립션 작업 상태가 `detail`인 경우 `FailureReason` 필드가 `FAILED` 아래에 추가됩니다.

단, 이 이벤트는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) API 작업에만 적용됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type":"Transcribe Job State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
          "TranscriptionJobName": "my-first-transcription-job",
          "TranscriptionJobStatus": "COMPLETED" (or "FAILED")
    }   
}
```
+ `TranscriptionJobName`: 트랜스크립션 작업에 대해 선택한 고유한 이름.
+ `TranscriptionJobStatus `: 트랜스크립션 작업의 새 상태. 이는 `COMPLETED` 또는 `FAILED`일 수 있습니다.

### 언어 식별 이벤트
<a name="lang-id-event"></a>

[자동 언어 식별](lang-id.md)을 활성화하면 언어 식별 상태가 `COMPLETED` 또는 `FAILED`일 때 Amazon Transcribe에서 이벤트를 생성합니다. 상태가 바뀐 작업을 식별하고 대상에서 이벤트를 시작하려면 이벤트의 `JobName` 필드를 사용합니다. Amazon Transcribe 이벤트에는 다음 정보가 포함됩니다. 언어 식별 상태가 `FAILED`인 경우 `FailureReason` 필드가 `detail` 아래에 추가됩니다.

단, 이 이벤트는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageIdSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageIdSettings.html) 파라미터가 포함된 경우 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartTranscriptionJob.html) API 작업에만 적용됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Language Identification State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "JobType": "TranscriptionJob",
        "JobName": "my-first-lang-id-job",
        "LanguageIdentificationStatus": "COMPLETED" (or "FAILED")
    }
}
```
+ `JobType`: 트랜스크립션 작업에서 이 값은 `TranscriptionJob`이어야 합니다.
+ `JobName`: 트랜스크립션 작업의 고유 이름.
+ `LanguageIdentificationStatus`: 트랜스크립션 작업의 언어 식별 상태. 이는 `COMPLETED` 또는 `FAILED`일 수 있습니다.

### 통화 분석 이벤트
<a name="analytics-event"></a>

[통화 분석 ](call-analytics.md)작업의 상태가 `IN_PROGRESS`에서 `COMPLETED` 또는 `FAILED`로 바뀌면 Amazon Transcribe에서 이벤트를 생성합니다. 상태가 바뀐 통화 분석 작업을 식별하고 대상에서 이벤트를 시작하려면 이벤트의 `JobName` 필드를 사용합니다. Amazon Transcribe 이벤트에는 다음 정보가 포함됩니다. 통화 분석 작업의 상태가 `FAILED`인 경우 `FailureReason` 필드가 `detail` 아래에 추가됩니다.

단, 이 이벤트는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartCallAnalyticsJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartCallAnalyticsJob.html) API 작업에만 적용됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Call Analytics Job State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "JobName": "my-first-analytics-job",
        "JobStatus": "COMPLETED" (or "FAILED"),
        "FailureReason": "failure reason", // only present when JobStatus is FAILED
        "AnalyticsJobDetails": { // only when you enable optional features such as Generative Call Summarization
            "Skipped": []
        }
    }
}
```
+ `JobName`: 통화 분석 트랜스크립션 작업의 고유한 이름.
+ `JobStatus`: 통화 분석 트랜스크립션 작업의 상태. 이는 `COMPLETED` 또는 `FAILED`일 수 있습니다.
+ `FailureReason`:이 필드는 `JobStatus`가 `FAILED`인 경우에만 존재하며 실패 이유를 설명합니다.
+ `AnalyticsJobDetails`: 건너뛴 분석 기능에 대한 정보를 포함하여 통화 분석 트랜스크립션 작업의 세부 정보입니다.

### 통화 분석 통화 후 이벤트
<a name="analytics-stream-event"></a>

[통화 후 분석](tca-post-call.md) 트랜스크립션의 상태가 `IN_PROGRESS`에서 `COMPLETED` 또는 `FAILED`로 바뀌면 Amazon Transcribe에서 이벤트를 생성합니다. 상태가 바뀐 통화 분석 통화 후 작업을 식별하고 대상에서 이벤트를 시작하려면 이벤트의 `StreamingSessionId` 필드를 사용합니다.

단, 이 이벤트는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_PostCallAnalyticsSettings.html) 파라미터가 포함된 경우 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartCallAnalyticsStreamTranscription.html) API 작업에만 적용됩니다.

`COMPLETED` 이벤트에는 다음 정보가 포함됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Call Analytics Post Call Job State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "StreamingSessionId": "session-id",
        "PostCallStatus": "COMPLETED",
        "Transcript": {
            "RedactedTranscriptFileUri": "s3://amzn-s3-demo-bucket/my-output-files/my-redacted-file.JSON",
            "TranscriptFileUri": "s3://amzn-s3-demo-bucket/my-output-files/my-file.JSON"
        },
        "Media": {
            "MediaFileUri": "s3://amzn-s3-demo-bucket/my-output-files/my-redacted-file.WAV",
            "RedactedMediaFileUri": "s3://amzn-s3-demo-bucket/my-output-files/my-redacted-file.WAV"
        }
    }
}
```

`FAILED` 이벤트에는 다음 정보가 포함됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Call Analytics Post Call Job State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "StreamingSessionId": "session-id",
        "PostCallStatus": "FAILED"
    }
}
```
+ `StreamingSessionId`: 실시간 통화 분석 트랜스크립션 요청에 할당된 식별 번호.
+ `PostCallStatus`: 통화 후 통화 분석 트랜스크립션의 상태. 이는 `COMPLETED` 또는 `FAILED`일 수 있습니다.
+ `Transcript`: 수정된 트랜스크립트과 수정되지 않은 트랜스크립트의 URI.
+ `Media`: 수정된 오디오 파일과 수정되지 않은 오디오 파일의 URI.

### AWS HealthScribe 스트림 후 분석 이벤트
<a name="health-scribe-analytics-stream-event"></a>

`IN_PROGRESS`에서 `COMPLETED`, AWS로 변경되는 [ClinicalNoteGenerationResult](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_ClinicalNoteGenerationResult.html)와 같은 AWS HealthScribe 스트림 후 분석 작업의 상태가 변경되면 HealthScribe는 다음 정보가 포함된 이벤트를 생성합니다.

```
{
   "version":"0",
   "id":"event ID",
   "detail-type":"MedicalScribe Post Stream Analytics Update",
   "source":"aws.transcribe",
   "account":"111122223333",
   "time":"timestamp",
   "region":"us-east-1",
   "resources":[],
   "detail":{
      "SessionId": <SessionID>,
      "UpdateType": "ClinicalNoteGenerationResult",
      "ClinicalNoteGenerationResult": {
          "ClinicalNoteOutputLocation": s3://amzn-s3-demo-bucket/clinical-note-output-files/clinical-notes.JSON,
          "TranscriptOutputLocation": s3://amzn-s3-demo-bucket/my-output-files/my-file.JSON,
          "Status": <IN_PROGRESS | COMPLETED | FAILED>,
          "FailureReason": <failure_reason>
    }
   }
}
```
+ `UpdateType`: 이벤트를 생성한 스트림 후 분석 작업의 유형입니다. 결과 객체의 내용은 `UpdateType`에 따라 달라집니다.
+ `SessionId`: AWS HealthScribe 스트림의 식별 번호입니다. 이 ID를 사용하여 시작 스트리밍 세션을 식별한 다음 이벤트를 생성한 스트림 후 분석을 찾습니다.
+ `Status`: 스트림 후 분석 작업의 상태입니다. `IN_PROGRESS`, `COMPLETED` 또는 `FAILED` 유형을 지정할 수 있습니다.
+ `ClinicalNoteOutputLocation`:에 대한 출력 Amazon S3 버킷의 URI입니다`ClinicalNoteGenerationResult`.
+ `TranscriptOutputLocation`: 트랜스크립트의 URI입니다.

### 어휘 이벤트
<a name="vocab-event"></a>

[사용자 지정 어휘](custom-vocabulary.md)의 상태가 `PENDING`에서 `READY` 또는 `FAILED`로 바뀌면 Amazon Transcribe에서 이벤트를 생성합니다. 상태가 바뀐 사용자 지정 어휘를 식별하고 대상에서 이벤트를 시작하려면 이벤트의 `VocabularyName` 필드를 사용합니다. Amazon Transcribe 이벤트에는 다음 정보가 포함됩니다. 사용자 지정 어휘 상태가 `FAILED`인 경우 `FailureReason` 필드가 `detail` 아래에 추가됩니다.

**참고**  
단, 이 이벤트는 [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateVocabulary.html) API 작업에만 적용됩니다.

```
{
    "version": "0",
    "id": "event ID",
    "detail-type": "Vocabulary State Change",
    "source": "aws.transcribe",
    "account": "111122223333",
    "time": "timestamp",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "VocabularyName": "unique-vocabulary-name",
        "VocabularyState": "READY" (or "FAILED")
    }
}
```
+ `VocabularyName`: 사용자 지정 어휘의 고유한 이름.
+ `VocabularyState`: 사용자 지정 어휘의 처리 상태. 이는 `READY` 또는 `FAILED`일 수 있습니다.