小编Rea*_*ner的帖子

Amazon S3 boto3如何迭代存储桶中的对象?

在 Flask 应用程序中,我尝试迭代 S3 存储桶中的对象并尝试打印密钥/文件名,但my_bucket.objects.all()仅返回存储桶中的第一个对象。它没有返回所有对象。输出是[001.pdf]而不是[001, 002, 003, 004, 005]

from flask import Flask, jsonify, Response, request
from flask_cors import CORS, cross_origin
from config import S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_ACCESS_KEY

import boto3
import csv
import re


s3 = boto3.client(
    's3',
    aws_access_key_id=S3_ACCESS_KEY,
    aws_secret_access_key=S3_SECRET_ACCESS_KEY
)

app = Flask(__name__)
CORS(app, supports_credentials=True)


@app.route('/')
def health():
    return jsonify({"message": "app is working"})


@app.route('/files')
def list_of_files():
    s3_resource = boto3.resource('s3')
    my_bucket = s3_resource.Bucket(S3_BUCKET)
    summaries = my_bucket.objects.all()
    files = []
    for file in summaries:
        # this prints …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services flask boto3

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

boto3 ×1

flask ×1

python ×1