Как прочитать файл из AWS s3 в фляге Python в Интернете - PullRequest
0 голосов
/ 14 января 2019

Я хочу импортировать файл s3 и сразу показать содержимое файла ('parameter.txt') в Интернете. Я не уверен, какую часть кода я добавляю в имя файла.

Эта ошибка возникает. Пожалуйста, дайте мне совет. Спасибо.

@app.route('/information', methods=['POST'])
def information():
    key = request.form['key']
    my_bucket = get_bucket()
    file_obj = my_bucket.Object(key).get()

    return Response(
        file_obj['Body'].read(),
        mimetype='text/plain',
        headers={"Content-Disposition": "attachment:filename= 
        {}".format(key)}
      )

ошибка: ... вернуть файл self._make_api_call (имя_операции, kwargs) "/home/ubuntu/.local/lib/python3.6/site-packages/botocore/client.py", Лин E 634, в _make_api_call api_params, operation_model, context = request_context) Файл "/home/ubuntu/.local/lib/python3.6/site-packages/botocore/client.py", Линия 682, в _convert_to_request_dict api_params, operation_model) Файл "/home/ubuntu/.local/lib/python3.6/site-packages/botocore/validate.py", В частности, в serialize_to_request поднять ParamValidationError (report = report.generate_report ())

botocore.exceptions.ParamValidationError: Ошибка проверки параметра: Недопустимая длина для параметра Key, значение: 0, допустимый диапазон: 1-inf

1 Ответ

0 голосов
/ 08 апреля 2019
import boto
from boto.s3.key import Key

keyId = "your key"
sKeyId="your_aws_secret_key_id"

srcFileName="package.json"
destFileName="package1.json"
bucketName="bucketname"
conn = boto.connect_s3(keyId,sKeyId)
bucket = conn.get_bucket(bucketName)

#Get the Key object of the given key, in the bucket

k = Key(bucket,srcFileName)

#Get the contents of the key into a file 

k.get_contents_to_filename(destFileName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...