View a markdown version of this page

Amazon EventBridge 搭配 使用 Amazon Transcribe - Amazon Transcribe

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

Amazon EventBridge 搭配 使用 Amazon Transcribe

使用 Amazon EventBridge,您可以透過在其他 中啟動事件來回應任務 Amazon Transcribe 中的狀態變更 AWS 服務。當轉錄任務變更狀態時, EventBridge 會自動將事件傳送至事件串流。您會建立規則以定義要在事件串流中監控的事件,以及發生這些事件時 EventBridge 應該採取的動作。例如,將事件路由到另一個服務 (或目標),此服務可接著採取動作。例如,您可以設定規則,在轉錄任務成功完成時將事件路由至 AWS Lambda 函數。若要定義EventBridge 規則,請參閱下列各節。

您可以透過多個管道接收事件通知,包括電子郵件、聊天應用程式中的 Amazon Q Developer 聊天通知或 AWS Console Mobile Application 推送通知。您也可以在主控台通知中心查看通知。如果您想要設定通知,您可以使用 AWS 使用者通知. AWS 使用者通知 supports 彙總,這可以減少您在特定事件期間收到的通知數量。

定義 EventBridge 規則

若要定義 EventBridge 規則,請使用 AWS 管理主控台。定義規則時,請使用 Amazon Transcribe 做為服務名稱。如需如何建立 EventBridge 規則的範例,請參閱 Amazon EventBridge 規則

使用前 EventBridge,請注意下列定義:

  • 事件–事件表示您其中一個轉錄作業的狀態變更。例如,工作的 TranscriptionJobStatusIN_PROGRESS 變更為 COMPLETED

  • 目標-目標是處理事件的另一個 AWS 服務 。例如, AWS Lambda 或 Amazon Simple Notification Service (Amazon SNS)。目標會收到 JSON 格式的事件。

  • 規則 – 規則符合您要 EventBridge 監看的傳入事件,並將其路由到目標或目標以進行處理。如果規則將事件路由到多個目標,所有的目標都會平行處理事件。規則可自訂傳送到目標的 JSON。

Amazon EventBridge 事件會盡最大努力發出。如需在 中建立和管理事件的詳細資訊 EventBridge,請參閱Amazon EventBridge 《 使用者指南》中的Amazon EventBridge 事件

以下是轉錄任務的狀態變更為 COMPLETED或 時 Amazon Transcribe 啟動的 EventBridge 規則範例FAILED

{ "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–轉錄作業的新作業狀態。在這個範例中,規則會在工作狀態變更為 COMPLETEDFAILED 時啟動事件。

Amazon Transcribe 事件

Amazon EventBridge 會記錄數個 Amazon Transcribe 事件:

這些事件都包含下列共用欄位:

  • version:事件資料的版本。這個值一律為 0

  • id: EventBridge 為事件產生的唯一識別符。

  • detail-type:事件詳細資訊的識別子。例如 Transcribe Job State Change

  • source:事件的來源。因此一律 Amazon Transcribe 為 aws.transcribe

  • account:產生 API 呼叫的帳戶 AWS 帳戶 ID。

  • time:事件傳送的日期和時間。

  • region:發出請求 AWS 區域 的 。

  • resources:API 呼叫使用的資源。對於 Amazon Transcribe,此欄位一律為空白。

  • detail:有關事件的其他詳細資訊。

    • FailureReason:如果狀況或狀態變更為 FAILED,則會顯示此欄位,並描述 FAILED 狀況或狀態的原因。

    • 每個事件類型都有其他唯一欄位,顯示在 detail 下方。這些唯一欄位會在每個事件範例後的下列各節定義。

轉錄作業事件

當任務的狀態從 變更為 IN_PROGRESSCOMPLETED或 時FAILED, Amazon Transcribe 會產生事件。若要識別變更狀態且在目標中啟動事件的工作,請使用該事件的 TranscriptionJobName 欄位。 Amazon Transcribe 事件包含下列資訊。如果您的轉錄作業狀態為 FAILED,則會在 detail 下方新增 FailureReason 欄位。

請注意,此事件僅適用於 StartTranscriptionJob 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 :轉錄作業的狀態。此值可以為 COMPLETEDFAILED

語言識別事件

您啟用自動語言識別時, Amazon Transcribe 會在語言識別狀態為 COMPLETEDFAILED 時產生事件。若要識別變更狀態且在目標中啟動事件的工作,請使用該事件的 JobName 欄位。 Amazon Transcribe 事件包含下列資訊。如果您的語言識別狀態為 FAILED,則會在 detail 下方新增 FailureReason 欄位。

請注意,此事件僅適用於包含 LanguageIdSettings 參數時的 StartTranscriptionJob 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:轉錄作業中語言識別的狀態。此值可以為 COMPLETEDFAILED

呼叫分析事件

通話分析工作狀態從 IN_PROGRESS 變更為 COMPLETEDFAILED 時, Amazon Transcribe 就會產生事件。若要識別變更狀態且在目標中啟動事件的通話分析工作,請使用該事件的 JobName 欄位。 Amazon Transcribe 事件包含下列資訊。如果您的通話分析工作狀態為 FAILED,則會在 detail 下方新增 FailureReason 欄位。

請注意,此事件僅適用於 StartCallAnalyticsJob 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:您的通話分析轉錄作業的狀態。可以是 COMPLETEDFAILED

  • FailureReason:只有在 JobStatus為 時,才會出現此欄位FAILED,並說明失敗的原因。

  • AnalyticsJobDetails:通話分析轉錄任務的詳細資訊,包括略過的分析功能的相關資訊。

通話分析通話後事件

通話後分析轉錄狀態從 IN_PROGRESS 變更為 COMPLETEDFAILED 時, Amazon Transcribe 會產生事件。若要識別變更狀態且在目標中啟動事件的通話分析通話後工作,請使用該事件的 StreamingSessionId 欄位。

請注意,此事件僅適用於包含 PostCallAnalyticsSettings 參數時的 StartCallAnalyticsStreamTranscriptionAPI 操作。

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:通話後通話分析轉錄的狀態。可以是 COMPLETEDFAILED

  • Transcript:您修訂和未修訂的文字記錄的 URI。

  • Media:您修訂和未修訂的音訊檔案的 URI。

AWS HealthScribe 串流後分析事件

當 a AWS HealthScribe 串流後分析操作的狀態變更時,例如從 變更為 IN_PROGRESSClinicalNoteGenerationResultCOMPLETED, AWS 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_PROGRESSCOMPLETEDFAILED

  • ClinicalNoteOutputLocation: 輸出 Amazon S3 儲存貯體的 URIClinicalNoteGenerationResult

  • TranscriptOutputLocation:文字記錄的 URI。

詞彙事件

自訂詞彙的狀態從 變更為 PENDINGREADY或 時FAILED, Amazon Transcribe 會產生事件。若要識別變更狀態且在目標中啟動事件的自訂詞彙工作,請使用該事件的 VocabularyName 欄位。 Amazon Transcribe 事件包含下列資訊。如果您的自訂詞彙狀態為 FAILED,則會在 detail 下方新增 FailureReason 欄位。

注意

此事件僅適用於 CreateVocabulary 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:自訂詞彙的處理狀態。此值可以為 READYFAILED