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

如何获取AWS S3存储桶中文件的URI路径并编写Python代码用于Transcribe作业

获取AWS S3存储桶中文件的URI用于Amazon Transcribe作业

没问题,我来帮你搞定这个需求。Amazon Transcribe接受的S3文件URI格式是s3://bucket-name/path/to/file,我们可以通过两种方式生成这个URI,根据你的需求选择就行:

方式一:直接构造URI(简单快速)

如果你已经确认文件肯定存在于S3桶中,直接拼接字符串就能得到符合要求的URI,不用调用AWS SDK,效率很高:

bucket_name = 'ABC'
folder_path = 'audiofiles/'
audio_files = ['audio_one.wav', 'audio_two.mp3']

# 生成每个文件的S3 URI
s3_uris = [f's3://{bucket_name}/{folder_path}{file}' for file in audio_files]

# 打印结果,直接复制给Transcribe用就行
for uri in s3_uris:
    print(uri)

运行这段代码后,你会得到:

s3://ABC/audiofiles/audio_one.wav
s3://ABC/audiofiles/audio_two.mp3

这两个URI可以直接传给Transcribe的MediaFileUri参数。

方式二:用boto3验证并获取(更严谨)

如果想确保文件确实存在于S3中,避免因路径错误导致Transcribe作业失败,可以用boto3 SDK来列出目录下的文件并自动构造URI:

首先确保你已经安装了boto3:

pip install boto3

然后使用以下代码:

import boto3

def get_s3_file_uris(bucket_name, folder_prefix):
    # 初始化S3客户端
    s3_client = boto3.client('s3')
    # 列出指定前缀下的所有对象
    response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=folder_prefix)
    
    s3_uris = []
    # 遍历返回的文件对象,跳过目录本身
    if 'Contents' in response:
        for obj in response['Contents']:
            if not obj['Key'].endswith('/'):
                s3_uri = f's3://{bucket_name}/{obj["Key"]}'
                s3_uris.append(s3_uri)
    return s3_uris

# 调用函数获取URI
target_bucket = 'ABC'
target_folder = 'audiofiles/'
file_uris = get_s3_file_uris(target_bucket, target_folder)

# 输出结果
for uri in file_uris:
    print(uri)

这个方法的好处是:

  • 自动验证文件存在性,只返回实际存在的文件URI
  • 如果以后audiofiles目录下新增了其他音频文件,代码会自动包含它们的URI
  • 避免手动拼接路径时可能出现的拼写错误

额外提示:在Transcribe中使用URI

拿到URI后,你可以直接在Transcribe作业中使用,示例代码如下:

import boto3

transcribe_client = boto3.client('transcribe')

# 针对单个文件启动转录作业
transcribe_client.start_transcription_job(
    TranscriptionJobName='Transcribe-Audio-One',
    Media={'MediaFileUri': 's3://ABC/audiofiles/audio_one.wav'},
    MediaFormat='wav',
    LanguageCode='en-US'  # 根据你的音频语言调整
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:29:49