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

调用boto3的start_medical_scribe_job时出现S3 Bucket无法访问错误

解决调用start_medical_scribe_job时的S3存储桶无法访问错误

以下是针对你遇到的问题的排查和解决步骤:

  • 修正OutputBucketName的取值
    代码中OutputBucketName='same as above bucket'是占位符,必须替换为实际的存储桶名称(例如'myBucket'),确保和MediaFileUri中的桶名一致。

  • 处理文件名中的空格
    S3路径包含空格时需要进行URL编码,可使用urllib.parse.quote对文件名部分编码,修改job_uri的生成逻辑:

    from urllib.parse import quote
    job_uri = f"s3://myBucket/{quote('myFile with spaces')}"
    
  • 验证IAM角色的信任关系
    即使角色拥有管理员权限,也需要确保信任策略允许Amazon Transcribe服务扮演该角色。角色的信任策略应包含以下内容:

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

    没有正确的信任关系,Transcribe服务无法通过该角色访问S3存储桶。

  • 检查S3桶策略(若存在)
    如果存储桶配置了自定义桶策略,确认没有Deny语句阻止Transcribe服务或你的IAM角色的访问。也可以添加明确允许Transcribe写入桶的策略:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "transcribe.amazonaws.com"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::myBucket/*"
        }
      ]
    }
    
  • 确认角色权限覆盖必要操作
    虽然角色有管理员权限,仍建议确认权限策略包含以下S3操作:

    • s3:GetObject(读取输入媒体文件)
    • s3:PutObject(写入输出结果到存储桶)

内容的提问来源于stack exchange,提问作者Hamid Faraz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:00:25