AWS HealthScribe 流式处理 - Amazon Transcribe

AWS HealthScribe 流式处理

利用 AWS HealthScribe 流式处理,您可以实时转录医疗谈话。AWSHealthScribe 流式处理是一项基于 HTTP2 的实时双向服务,它在一个通道中接受音频流,并在另一个通道中提供音频转录。流式处理完成后,AWS HealthScribe 会分析流内容并生成转录文本 JSON 文件和临床笔记 JSON 文件。

要启动流式处理,请使用 StartMedicalScribeStream API 操作。此 API 会启动一个基于 HTTP2 的双向通道,用于流式处理音频事件。

启动流时,请先在 MedicalScribeConfigurationEvent 中指定流配置。此事件包含通道定义、加密设置和流后分析设置,例如用于生成聚合转录文本和临床笔记的输出配置。

启动流式处理音频后,您可以按以下方式管理流:

  • 完成流式处理后,要开始使用流后分析来处理结果,请发送 TypeEND_OF_SESSIONMedicalScribeSessionControlEvent,AWS HealthScribe 将启动分析。

  • 要暂停流式处理,请在不发送 MedicalScribeSessionControlEvent 的情况下完成输入流。

  • 要恢复已暂停的流,请使用 StartMedicalScribeStream API 操作并指定相同的 SessionId。这是您最初启动流时使用的 SessionId

指南和要求

下面是 AWS HealthScribe 流式处理的准则和要求:

  • 在发送音频事件之前,必须先在 MedicalScribeConfigurationEvent 中指定流配置。

  • 要运行流后分析,您的 MedicalScribeConfigurationEvent 中的 ResourceAccessRoleArn 必须具有正确的权限。有关更多信息,请参阅 ResourceAccessRoleArn 角色权限

  • 在初始流创建后的 5 小时内,您可以不限次数地恢复会话。

  • 在一次会话中,您可以通过所有流式处理请求流式处理的音频最多为 2 小时。

  • 默认情况下,AWS HealthScribe 会提供静态加密,以使用 Amazon S3 托管式密钥保护敏感客户数据。启动流时,您可以为第二层加密指定一个 AWS KMS 密钥。您的 ResourceAccessRoleArn 必须拥有使用您的 AWS KMS 密钥的权限。有关更多信息,请参阅 AWS HealthScribe 的静态数据加密

  • 您可以将 AWS HealthScribe 流式处理与 AWS SDK 配合使用,但适用于 Python 的 SDK(Boto3)和适用于 PHP 的 SDK 除外。

  • 如果在结束流后出现 LimitExceededException 异常,则可以重新启动会话并生成流后分析。要重新启动流,请使用 StartMedicalScribeStream API 并使用相同的 SessionID。然后发送 TypeEND_OF_SESSIONMedicalScribeSessionControlEvent,AWS HealthScribe 将启动分析。

ResourceAccessRoleArn 角色权限

要运行流后分析,您的 MedicalScribeConfigurationEvent 中的 ResourceAccessRoleArn 必须能够访问您的 Amazon S3 输出存储桶和您的 AWS KMS 密钥(如果您已提供)。此外,该角色的信任策略必须向 transcribe.streaming.amazonaws.com 服务授予担任该角色的权限。

下面是一个授予 Amazon S3 存储桶权限和 AWS KMS 密钥权限的示例 IAM 策略。有关更多信息,请参阅 AWS HealthScribe 的静态数据加密

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "Effect": "Allow" } ] }

以下是信任策略的示例。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "transcribe.streaming.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }