You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Transcribe的StartTranscriptionJob时遇x-amz-content-sha256缺失错误

解决AWS Transcribe StartTranscriptionJob的InvalidRequest错误(Missing x-amz-content-sha256 header)

你在调用AWS Transcribe的StartTranscriptionJob时踩了一个常见的端点配置坑,我来帮你梳理问题并解决:

问题根源

你在CLI命令里指定了错误的--endpoint-url:https://s3.amazonaws.com/。这个地址是S3存储服务的端点,而不是AWS Transcribe的服务端点。当你把Transcribe的API请求发送到S3端点时,S3的安全机制要求必须携带x-amz-content-sha256请求头,但Transcribe CLI的请求逻辑不会自动附加这个头,因此触发了InvalidRequest错误。

你的现有配置回顾

  • 执行的CLI命令:
    aws transcribe start-transcription-job --endpoint-url https://s3.amazonaws.com/ --region us-east-1 --cli-input-json file://D:\awstr.json
    
  • 输入JSON文件(D:\awstr.json):
    { 
      "TranscriptionJobName": "awrtest05", 
      "LanguageCode": "en-US", 
      "MediaFormat": "mp3", 
      "Media": { "MediaFileUri": "https://s3.amazonaws.com/temp-awr-store6/m1406.mp3" } 
    }
    
  • AWS配置文件内容:
    [default] 
    output = json 
    region = us-east-1
    

解决方案

  1. 移除错误的端点参数
    Transcribe CLI会根据你配置的region自动匹配正确的服务端点,完全不需要指定S3的地址。修正后的命令如下:

    aws transcribe start-transcription-job --region us-east-1 --cli-input-json file://D:\awstr.json
    
  2. 验证媒体文件权限与路径
    确认你的AWS账号拥有访问https://s3.amazonaws.com/temp-awr-store6/m1406.mp3的权限(需要s3:GetObject权限),同时确保该S3对象确实存在,路径没有拼写错误。

  3. 保持现有配置文件不变
    你的配置文件中region设置为us-east-1,和命令中的region一致,这部分是正确的,无需修改。

额外提示

如果后续需要手动指定Transcribe的端点(比如在私有VPC或特殊环境下),请使用对应region的Transcribe专属端点,例如us-east-1的Transcribe端点是https://transcribe.us-east-1.amazonaws.com,千万不要混淆其他服务的端点。

内容的提问来源于stack exchange,提问作者Burning Daylight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:53:51