擅长:python、mysql、java
<p>boto3现在有了比客户端更好的接口:</p>
<pre><code>resource = boto3.resource('s3')
my_bucket = resource.Bucket('MyBucket')
my_bucket.download_file(key, local_filename)
</code></pre>
<p>这本身并不比公认答案中的<code>client</code>好多少(尽管文档中说它在失败时重试上传和下载的工作做得更好),但是考虑到资源通常更符合人体工程学(例如,s3<a href="http://boto3.readthedocs.org/en/latest/reference/services/s3.html#bucket">bucket</a>和<a href="http://boto3.readthedocs.org/en/latest/reference/services/s3.html#object">object</a>资源比客户机方法更好)这确实允许您留在资源层而不必下拉。</p>
<p><a href="http://boto3.readthedocs.org/en/latest/reference/core/resources.html">^{<cd2>}</a>通常可以用与客户机相同的方式创建,它们接受所有或大部分相同的参数,并将它们转发给内部客户机。</p>