要在AWS S3网站上显示文件名而不是文件内容,您可以使用以下方法之一:
import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
bucket_name = 'your-bucket-name'
objects = s3.Bucket(bucket_name).objects.all()
file_names = []
for obj in objects:
file_names.append(obj.key)
return {
'statusCode': 200,
'body': file_names
}
上述示例代码使用AWS SDK中的boto3库来连接到S3存储桶。它获取存储桶中的所有对象并返回文件名列表。您可以将此代码部署为AWS Lambda函数,并将其与API Gateway集成以公开API。
在S3存储桶的属性中启用“静态网站托管”选项。然后,创建一个名为index.html的文件,其中包含以下代码:
S3 File Names
S3 File Names
{% for obj in objects %}
- {{ obj }}
{% endfor %}
将index.html文件上传到存储桶,并通过访问存储桶的URL来查看文件名列表。
请注意,在上述示例中,使用了Python的jinja2模板引擎来动态生成HTML。您需要在部署之前确保已安装jinja2库。
下一篇:AWS S3未返回指定数量的记录