草庐IT

S3Client

全部标签

python - 使用 boto3 从 S3 存储桶中读取文件内容

我通过执行读取S3存储桶中的文件名objs=boto3.client.list_objects(Bucket='my_bucket')while'Contents'inobjs.keys():objs_contents=objs['Contents']foriinrange(len(objs_contents)):filename=objs_contents[i]['Key']现在,我需要获取文件的实际内容,类似于open(filename).readlines()。最好的方法是什么? 最佳答案 boto3提供了一种资源模型,使诸如

python - 使用 boto3 从 S3 存储桶中读取文件内容

我通过执行读取S3存储桶中的文件名objs=boto3.client.list_objects(Bucket='my_bucket')while'Contents'inobjs.keys():objs_contents=objs['Contents']foriinrange(len(objs_contents)):filename=objs_contents[i]['Key']现在,我需要获取文件的实际内容,类似于open(filename).readlines()。最好的方法是什么? 最佳答案 boto3提供了一种资源模型,使诸如

python - Scrapy 抛出 ImportError : cannot import name xmlrpc_client

通过pip安装Scrapy并拥有Python2.7.10:scrapyTraceback(mostrecentcalllast):File"/usr/local/bin/scrapy",line7,infromscrapy.cmdlineimportexecuteFile"/Library/Python/2.7/site-packages/scrapy/__init__.py",line48,infromscrapy.spidersimportSpiderFile"/Library/Python/2.7/site-packages/scrapy/spiders/__init__.py"

python - Scrapy 抛出 ImportError : cannot import name xmlrpc_client

通过pip安装Scrapy并拥有Python2.7.10:scrapyTraceback(mostrecentcalllast):File"/usr/local/bin/scrapy",line7,infromscrapy.cmdlineimportexecuteFile"/Library/Python/2.7/site-packages/scrapy/__init__.py",line48,infromscrapy.spidersimportSpiderFile"/Library/Python/2.7/site-packages/scrapy/spiders/__init__.py"

python - 如何更改 Amazon S3 中对象的元数据

如果您已将对象上传到AmazonS3存储桶,如何使用API更改元数据?可以在AWS管理控制台中执行此操作,但不清楚如何以编程方式完成。具体来说,我在Python中使用botoAPI,并且从阅读源代码中可以清楚地看出,使用key.set_metadata仅在创建对象之前有效,因为它只会影响本地字典。 最佳答案 看来您需要使用“PUTObject(Copy)”和x-amz-metadata-directive:REPLACEheader以及元数据来覆盖对象本身。在boto中,可以这样完成:k=k.copy(k.bucket.name,k

python - 如何更改 Amazon S3 中对象的元数据

如果您已将对象上传到AmazonS3存储桶,如何使用API更改元数据?可以在AWS管理控制台中执行此操作,但不清楚如何以编程方式完成。具体来说,我在Python中使用botoAPI,并且从阅读源代码中可以清楚地看出,使用key.set_metadata仅在创建对象之前有效,因为它只会影响本地字典。 最佳答案 看来您需要使用“PUTObject(Copy)”和x-amz-metadata-directive:REPLACEheader以及元数据来覆盖对象本身。在boto中,可以这样完成:k=k.copy(k.bucket.name,k

python - 如何在 boto S3 中获取文件/ key 大小?

必须有一种简单的方法来获取文件大小(key大小),而无需提取整个文件。我可以在AWSS3浏览器的属性中看到它。而且我认为我可以从“HEAD”请求的“Content-length”header中删除它。但我并没有将关于如何用boto做到这一点的点点滴滴联系起来。如果您发布比standardbotodocs中更全面的示例的链接,请多加赞赏.编辑:所以以下似乎可以解决问题(尽管从查看源代码我不完全确定。):bk=conn.get_bucket('my_bucket_name')ky=boto.s3.key.Key(bk)ky.open_read()##ThissendsaGETrequest

python - 如何在 boto S3 中获取文件/ key 大小?

必须有一种简单的方法来获取文件大小(key大小),而无需提取整个文件。我可以在AWSS3浏览器的属性中看到它。而且我认为我可以从“HEAD”请求的“Content-length”header中删除它。但我并没有将关于如何用boto做到这一点的点点滴滴联系起来。如果您发布比standardbotodocs中更全面的示例的链接,请多加赞赏.编辑:所以以下似乎可以解决问题(尽管从查看源代码我不完全确定。):bk=conn.get_bucket('my_bucket_name')ky=boto.s3.key.Key(bk)ky.open_read()##ThissendsaGETrequest

python - 模拟boto3 S3客户端方法Python

我正在尝试从boto3s3客户端对象模拟一个单一方法以引发异常。但我需要所有其他方法才能让这个类正常工作。这样我就可以在执行upload_part_copy时发生错误时测试单个异常测试。第一次尝试importboto3frommockimportpatchwithpatch('botocore.client.S3.upload_part_copy',side_effect=Exception('ErrorUploading'))asmock:client=boto3.client('s3')#Shouldreturnactualresulto=client.get_object(Buc

python - 模拟boto3 S3客户端方法Python

我正在尝试从boto3s3客户端对象模拟一个单一方法以引发异常。但我需要所有其他方法才能让这个类正常工作。这样我就可以在执行upload_part_copy时发生错误时测试单个异常测试。第一次尝试importboto3frommockimportpatchwithpatch('botocore.client.S3.upload_part_copy',side_effect=Exception('ErrorUploading'))asmock:client=boto3.client('s3')#Shouldreturnactualresulto=client.get_object(Buc