使用 Boto 访问 URL 个 S3 文件
Access URL of S3 files using Boto
我的 S3 存储桶中有一些图像,我想在我的 Django 应用程序中显示它们。
import boto3
s3=boto3.client('s3')
list=s3.list_objects(Bucket='my_bucket_name')['Contents']
for l in list:
print(l[u'Key'])
使用这段代码,我得到了这些图像的名称。如何获取图像的 URL,以便我可以使用相同的方法将其传递到 HTML 页面以显示它?
访问 S3 中文件的 URL 遵循以下格式:
https://<region>.amazonaws.com/<bucket-name>/<key>
看这里:https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAPI.html
然后利用 django 模板语言(参见此处:https://docs.djangoproject.com/en/2.0/ref/templates/language/#)注入您需要的内容。
如果您的存储桶存储在列表中,并且每个存储桶的键存储在字典中,您可以这样做:
{% for bucket in buckets %}
{% for key in keys[bucket] %}
<a href="https://<region>.amazonaws.com/{{ bucket }}/{{ key }}">S3 link here</a>
{% endfor %}
{% endfor %}
我的 S3 存储桶中有一些图像,我想在我的 Django 应用程序中显示它们。
import boto3
s3=boto3.client('s3')
list=s3.list_objects(Bucket='my_bucket_name')['Contents']
for l in list:
print(l[u'Key'])
使用这段代码,我得到了这些图像的名称。如何获取图像的 URL,以便我可以使用相同的方法将其传递到 HTML 页面以显示它?
访问 S3 中文件的 URL 遵循以下格式:
https://<region>.amazonaws.com/<bucket-name>/<key>
看这里:https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAPI.html
然后利用 django 模板语言(参见此处:https://docs.djangoproject.com/en/2.0/ref/templates/language/#)注入您需要的内容。
如果您的存储桶存储在列表中,并且每个存储桶的键存储在字典中,您可以这样做:
{% for bucket in buckets %}
{% for key in keys[bucket] %}
<a href="https://<region>.amazonaws.com/{{ bucket }}/{{ key }}">S3 link here</a>
{% endfor %}
{% endfor %}