小编kle*_*mag的帖子

使用boto3连接到S3加速端点

我想从已激活加速的S3存储桶将文件下载到Python文件对象中.我遇到了一些资源,建议是否覆盖endpoint_url"s3-accelerate.amazonaws.com"和/或使用该use_accelerate_endpoint属性.

我已经尝试了两种,并且有几种变化,但每次都返回相同的错误.我尝试过的一个脚本是:

    from botocore.config import Config
    import boto3
    from io import BytesIO
    session = boto3.session.Session()
    s3 = session.client(                                                                            
           service_name='s3',                                                                  
           aws_access_key_id=<MY_KEY_ID>,               
           aws_secret_access_key=<MY_KEY>,
           region_name="us-west-2",
       config=Config(s3={"use_accelerate_endpoint": True,
                         "addressing_style": "path"}))
   input = BytesIO() 
   s3.download_fileobj(<MY_BUCKET>,<MY_KEY>, input)
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

            ---------------------------------------------------------------------------
            ClientError                               Traceback (most recent call last)
            <ipython-input-61-92b89b45f215> in <module>()
                 11      "addressing_style": "path"}))
                 12 input = BytesIO()
            ---> 13 s3.download_fileobj(bucket, filename, input)
                 14 
                 15 

            ~/Project/venv/lib/python3.5/site-packages/boto3/s3/inject.py in download_fileobj(self, Bucket, Key, Fileobj, ExtraArgs, Callback, Config)
                568             bucket=Bucket, key=Key, fileobj=Fileobj,
                569             extra_args=ExtraArgs, subscribers=subscribers)
            --> 570         return future.result() …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services python-3.x boto3

7
推荐指数
1
解决办法
1123
查看次数