草庐IT

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 - 使用 boto3 对 dynamoDb 进行完整扫描

我的表大约220mb,里面有250k条记录。我正在尝试将所有这些数据提取到python中。我意识到这需要一个分block的批处理过程并循环执行,但我不确定如何将批处理设置为从前一个停止的位置开始。有什么方法可以过滤我的扫描吗?从我读到的过滤发生在加载后,加载停止在1mb,所以我实际上无法扫描新对象。任何帮助将不胜感激。importboto3dynamodb=boto3.resource('dynamodb',aws_session_token=aws_session_token,aws_access_key_id=aws_access_key_id,aws_secret_access_

python - 使用 boto3 对 dynamoDb 进行完整扫描

我的表大约220mb,里面有250k条记录。我正在尝试将所有这些数据提取到python中。我意识到这需要一个分block的批处理过程并循环执行,但我不确定如何将批处理设置为从前一个停止的位置开始。有什么方法可以过滤我的扫描吗?从我读到的过滤发生在加载后,加载停止在1mb,所以我实际上无法扫描新对象。任何帮助将不胜感激。importboto3dynamodb=boto3.resource('dynamodb',aws_session_token=aws_session_token,aws_access_key_id=aws_access_key_id,aws_secret_access_

python - 在不修改 boto 文件的情况下禁用 boto 日志记录

我正在使用Boto库与AWS通信。我想禁用日志记录。(或重定向到/dev/null或其他文件)。我找不到明显的方法来做到这一点。我试过了,但这似乎没有帮助:importbotoboto.set_file_logger('boto','logs/boto.log')这表示有可能,http://developer.amazonwebservices.com/connect/thread.jspa?messageID=52727췷但据我所知,文档并没有说明如何。 最佳答案 你可以试试importlogginglogging.g

python - 在不修改 boto 文件的情况下禁用 boto 日志记录

我正在使用Boto库与AWS通信。我想禁用日志记录。(或重定向到/dev/null或其他文件)。我找不到明显的方法来做到这一点。我试过了,但这似乎没有帮助:importbotoboto.set_file_logger('boto','logs/boto.log')这表示有可能,http://developer.amazonwebservices.com/connect/thread.jspa?messageID=52727췷但据我所知,文档并没有说明如何。 最佳答案 你可以试试importlogginglogging.g

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

python - 如何安装博托?

这样我就可以在我的python脚本中使用它了吗? 最佳答案 如果需要,安装pip:sudoapt-getinstallpython-pip然后安装boto:pipinstall-Uboto 关于python-如何安装博托?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2481287/