【问题标题】:Should I create a new instance of boto3 client for each file upload request, or use a shared instance我应该为每个文件上传请求创建一个新的 boto3 客户端实例,还是使用共享实例
【发布时间】:2023-03-18 13:35:02
【问题描述】:

我想知道,我应该为每个文件上传请求创建一个新的 boto3 客户端实例,还是使用共享实例?这样做的正确方法是什么?

每个上传请求创建一个新实例

@app.route('/', methods=['POST'])
def upload_file():
    file = request.files['file']

    file.save('/tmp/file.ext')

    client = boto3.client('s3')

    client.upload_file('/tmp/file.ext',  # Path to local file
        'my-space',  # Name of Space
        'file.ext')  # Name for remote file

每个上传请求的共享实例

client = boto3.client('s3')

@app.route('/', methods=['POST'])
def upload_file():
    file = request.files['file']

    file.save('/tmp/file.ext')

    client.upload_file('/tmp/file.ext',  # Path to local file
        'my-space',  # Name of Space
        'file.ext')  # Name for remote file

【问题讨论】:

标签: python flask boto3


【解决方案1】:

我会选择共享客户端。

client = boto3.client('s3')

@app.route('/', methods=['POST'])
def upload_file():
    file = request.files['file']

    file.save('/tmp/file.ext')

    client.upload_file('/tmp/file.ext', 'my-space', 'file.ext')

【讨论】:

  • 但是,跨多个请求共享单个 boto3 实例是否安全?
猜你喜欢
  • 2017-10-07
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多