如何获取存储在s3Bucket中的文件的uri路径



我的Bucket名称"ABC"的结构如下:

audiofiles
audio_one.wav
audio_two.mp3

我想要一个python代码来获取这些文件的URI,而不是文件或文件列表,文件URI,这样我就可以在转录作业中使用该文件作为输入链接。

boto3 s3客户端没有返回密钥/文件URL的方法。

但是我们可以使用每个对象的公共URL:

import boto3
bucket_name = 'bucket_name'
s3 = boto3.resource('s3')

def lambda_handler(event, context):
my_bucket = s3.Bucket(bucket_name)
for obj in my_bucket.objects.all():
url = f'https://{bucket_name}.s3.amazonaws.com/{obj.key}'
print(url)

这将为您打印这样的内容:

https://bucket_name.s3.amazonaws.com/audio_one.wav
https://bucket_name.s3.amazonaws.com/audio_two.mp3
https://bucket_name.s3.amazonaws.com/audio_three.mp3

最新更新