Python S3批量数据更新

Python S3批量数据更新,python,amazon-web-services,amazon-s3,aws-lambda,boto3,Python,Amazon Web Services,Amazon S3,Aws Lambda,Boto3,我有一堆json文档,它们具有存储在S3存储桶中的相同字段集。为了将这些字段的状态字段从“未决”更新到“完成”,如果要逐个获取文档,更新状态字段并将它们一个一个地返回到S3,或者是否有办法在S3中使用S3键对这些文档进行批量更新? < >对于大量对象,我会考虑这样做。您可以使用boto3编写一个简单的Lambda函数,从S3获取一个对象,更新内容,然后将该对象放回S3。S3批处理将为每个对象协调调用Lambda 对于少量对象,这可能是多余的,并且可以简单地使用BOTO3来枚举对象,逐个获取它们,

我有一堆json文档,它们具有存储在S3存储桶中的相同字段集。为了将这些字段的状态字段从“未决”更新到“完成”,如果要逐个获取文档,更新状态字段并将它们一个一个地返回到S3,或者是否有办法在S3中使用S3键对这些文档进行批量更新?

< >对于大量对象,我会考虑这样做。您可以使用boto3编写一个简单的Lambda函数,从S3获取一个对象,更新内容,然后将该对象放回S3。S3批处理将为每个对象协调调用Lambda


对于少量对象,这可能是多余的,并且可以简单地使用BOTO3来枚举对象,逐个获取它们,修改每个,并将其放回。

< P>对于大量对象,我会考虑这样做。您可以使用boto3编写一个简单的Lambda函数,从S3获取一个对象,更新内容,然后将该对象放回S3。S3批处理将为每个对象协调调用Lambda


对于一小部分对象,这可能有点过头了,您可以简单地使用boto3枚举对象,逐个获取它们,修改每个对象,然后将其放回原处。

谢谢@jarmod。在我的案例中,请求的数量少于10个。所以我可能会一个接一个地修改它们!不过,如果我将来遇到批处理用例,它会很有用。顺便说一句,这里的另一种可能的设计是使用对象标记。JSON文件最初会上载其常规内容,但没有status属性。状态将是status=pending的标记。一旦您的流程确定一个给定的JSON文件已完成,它将用status=complete重新标记该对象(或者简单地删除status=pending标记以指示complete,无论什么对您更合适)。这也是一个很好的建议。我会像斯威普一样探索这一点。再次感谢。谢谢@jarmod。在我的案例中,请求的数量少于10个。所以我可能会一个接一个地修改它们!不过,如果我将来遇到批处理用例,它会很有用。顺便说一句,这里的另一种可能的设计是使用对象标记。JSON文件最初会上载其常规内容,但没有status属性。状态将是status=pending的标记。一旦您的流程确定一个给定的JSON文件已完成,它将用status=complete重新标记该对象(或者简单地删除status=pending标记以指示complete,无论什么对您更合适)。这也是一个很好的建议。我会像斯威普一样探索这一点。再次感谢。