本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EventBridge 与一起使用 Amazon Transcribe
使用 Amazon EventBridge,您可以通过在其他任务中启动事件来响应 Amazon Transcribe 任务中的状态变化 AWS 服务。当转录作业改变状态时, EventBridge 会自动将事件发送到事件流。您可以创建规则来定义希望在事件流中监控的事件以及在这些事件发生时 EventBridge 应采取的操作。例如,将事件路由到其他服务(或目标),然后再采取操作。例如,您可以配置一条规则,以便在转录作业成功完成后将事件路由到 AWS Lambda 函数。要定义 EventBridge 规则,请参阅以下各节。
您可以通过多个渠道接收事件通知,包括电子邮件、聊天应用程序中的 Amazon Q 开发者版聊天通知或 AWS Console Mobile Application 推送通知。还可以在控制台通知中心
定义 EventBridge 规则
要定义 EventBridge 规则,请使用AWS 管理控制台
使用前 EventBridge,请注意以下定义:
-
事件–事件指示某个转录作业的状态发生更改。例如,当作业的
TranscriptionJobStatus从IN_PROGRESS更改为COMPLETED时。 -
目标–目标是其它处理事件的 AWS 服务 。例如, AWS Lambda 或 Amazon Simple Notification Service (Amazon SNS)。目标接收 JSON 格式的事件。
-
规则-规则匹配您 EventBridge 要监视的传入事件,并将它们路由到一个或多个目标进行处理。如果规则将一个事件路由到多个目标,则所有目标将并行处理该事件。规则可以自定义发送到目标的 JSON。
Amazon EventBridge 事件是在尽力而为的基础上发出的。有关在中创建和管理事件的更多信息 EventBridge,请参阅《Amazon EventBridge 用户指南》中的Amazon EventBridge 事件。
以下是转录作业状态变 Amazon Transcribe 为COMPLETED或FAILED时启动的 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 事件
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_PROGRESS为COMPLETED或时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:转录作业的状态。可以是COMPLETED或FAILED。
语言识别事件
启用自动语言识别时, Amazon Transcribe 会在语言识别状态为 COMPLETED 或 FAILED 时生成一个事件。要标识已更改状态并在您的目标中发起事件的作业,请使用事件的 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:转录作业中语言识别的状态。可以是COMPLETED或FAILED。
呼叫分析事件
当呼叫分析作业的状态从 IN_PROGRESS 更改为 COMPLETED 或 FAILED 时, 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:您的呼叫分析转录作业的状态。此值可以是COMPLETED或FAILED。 -
FailureReason:此字段仅在 “JobStatus是” 时才会出现FAILED,它描述了失败的原因。 -
AnalyticsJobDetails:您的 Call Analytics 转录作业的详细信息,包括有关跳过的分析功能的信息。
呼叫分析通话后事件
当通话后分析转录的状态从 IN_PROGRESS 变为 COMPLETED 或 FAILED 时, Amazon Transcribe 会生成一个事件。要标识已更改状态并在您的目标中触发事件的呼叫分析通话后作业,请使用事件的 StreamingSessionId 字段。
请注意,此事件仅适用于包含 PostCallAnalyticsSettings 参数时的 StartCallAnalyticsStreamTranscription 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 直播后分析事件
当 AWS HealthScribe 直播后分析操作的状态发生变化(例如从ClinicalNoteGenerationResult变为)时 IN_PROGRESSCOMPLETED, 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_PROGRESS、COMPLETED或FAILED。 -
ClinicalNoteOutputLocation:的输出 Amazon S3 存储桶的 URIClinicalNoteGenerationResult。 -
TranscriptOutputLocation: 您的成绩单的 URI。
词汇表事件
当自定义词汇的状态从变PENDING为READY或时FAILED, Amazon Transcribe 会生成一个事件。要标识已更改状态并在您的目标中发起事件的自定义词汇表,请使用事件的 VocabularyName 字段。 Amazon Transcribe 事件包含以下信息。如果您的自定义词汇表状态为 FAILED,则会在 detail 下添加一个 FailureReason 字段。
注意
此事件仅适用于 CreateVocabularyAPI 操作。
{ "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。