我想知道 boto3 中是否存在密钥。我可以循环存储桶内容并检查密钥是否匹配。
但这似乎更长,而且有点矫枉过正。 Boto3 官方文档明确说明了如何执行此操作。
可能是我错过了显而易见的事情。谁能指出我如何实现这一目标。
原文由 Prabhakar Shanmugam 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想知道 boto3 中是否存在密钥。我可以循环存储桶内容并检查密钥是否匹配。
但这似乎更长,而且有点矫枉过正。 Boto3 官方文档明确说明了如何执行此操作。
可能是我错过了显而易见的事情。谁能指出我如何实现这一目标。
原文由 Prabhakar Shanmugam 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
Boto 2 的
boto.s3.key.Key
对象曾经有一个exists
通过执行 HEAD 请求并查看结果来检查密钥是否存在于 S3 上的方法,但似乎不再存在.你必须自己做:load()
对单个键执行 HEAD 请求,即使所讨论的对象很大或者您的存储桶中有很多对象,它也很快。当然,您可能正在检查该对象是否存在,因为您正计划使用它。如果是这种情况,您可以忘记
load()
并执行get()
或download_file()
直接处理错误情况。