0

经过一系列长时间使用 AWS 转录后,我现在在使用 Postman 时遇到了一个新错误:

<AccessDeniedException>
  <Message>Unable to determine service/operation name to be authorized</Message>
</AccessDeniedException>

但是,我不知道问题是什么。我试图用谷歌搜索它,但错误似乎也发生在 AWS Lambda 中。但我正在使用 AWS Transcription。任何人都可以检查似乎是什么问题?

我的示例示例 GET 请求是:

https://transcribestreaming.us-east-1.amazonaws.com/medical-stream-transcription-websocket?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MYACCESSKEYID%2F20200404%2Fus-east-1%2Ftranscribe%2Faws4_request&X-Amz-Date=20200404T171802Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&language-code=en-US&media-encoding=pcm&sample-rate=16000&specialty=PRIMARYCARE&type=DICTATION&X-Amz-Signature=5f5f0a5d336e524b335245b6e83945d3057ec3905a9ae2d2ca709b77cce5478f

出于安全目的,我故意X-Amz-Credential用 MYACCESSKEYID 替换。

4

2 回答 2

1

您似乎正在尝试连接到 Amazon Transcribe Medical 的 websocket 终端节点。查看您的 GET 请求后,您似乎缺少端口号 8443,因此您的请求未路由到 websocket 端点。

https://docs.aws.amazon.com/transcribe/latest/dg/websocket-med.html#websocket-streaming-request-med描述了创建双向请求以转录医疗流端点的示例。

于 2020-04-07T00:39:35.140 回答
1

可能有两个错误:

1)“https://”请求连接到默认端口443。这会导致“无法确定要授权的服务/操作名称”的错误。请明确使用端口:8443。

2) 您的客户端没有正确处理 websocket 升级。在打开连接的第一个请求中,您的客户端需要通过包含多个标头来启动 websocket 升级,如https://docs.aws.amazon.com/transcribe/latest/dg/websocket-的“包含 WebSocket 请求标头”部分中所述med.html#websocket-response-med

卷曲中的示例:

curl --include --no-buffer \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Host: transcribestreaming.us-east-1.amazonaws.com:8443" \
--header "Origin: http://localhost:3000" \
--header "Sec-WebSocket-Key: tEfHvBSx8jqQyZgCNrhI3w" \
--header "Sec-WebSocket-Version: 13" \
"https://transcribestreaming.us-east-1.amazonaws.com:8443/medical-stream-transcription-websocket?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MYCREDENTIAL&X-Amz-Date=20200406T211542Z&X-Amz-Expires=60&X-Amz-Signature=MYSIGNATURE&X-Amz-SignedHeaders=host&language-code=en-US&media-encoding=pcm&sample-rate=16000&specialty=PRIMARYCARE&type=DICTATION"

请求成功后,客户端会收到“101 Switching Protocols”。连接已建立,然后您可以继续发送音频帧,如https://docs.aws.amazon.com/transcribe/latest/dg/websocket-med.html#websocket-streaming-request-med中所述

于 2020-04-13T10:09:29.803 回答