这个问题通常是因为您使用的IAM用户没有足够的权限来上传文件到您的S3存储桶中。要解决这个问题,您需要执行以下步骤:
在您完成上述步骤后,您的IAM用户将具有足够的权限将文件上传到存储桶中。此外,如果您在创建Transcribe作业时指定了S3存储桶的输出路径,请确保您也将此存储桶的访问权限配置为公共读取/写入,以便Transcribe服务可以将文件写入存储桶中。
以下是参考代码:
import boto3
transcribe = boto3.client('transcribe')
s3 = boto3.resource('s3')
job_name = "test_job"
job_uri = "s3://input-bucket/audio-file.mp3"
output_bucket_name = "output-bucket"
output_key = "output.json"
transcribe.start_transcription_job(
TranscriptionJobName=job_name,
Media={'MediaFileUri': job_uri},
OutputBucketName=output_bucket_name,
OutputKey=output_key,
Settings={'MaxSpeakerLabels': 2}
)
object_acl = s3.ObjectAcl(output_bucket_name, output_key)
response = object_acl.put(ACL='public-read-write')