使用s3fs,我将一个文件上传到已经创建的s3 bucket(而不是删除bucket(。在执行时,会抛出以下错误:
[Operation Aborted]: A conflicting conditional operation is currently in progress against this resource.
然而,我只想将pickle文件转储到现有的bucket中,而不是为每个转储创建一个bucket。
在这方面找不到有用的答案。
这意味着bucket已排队等待删除。
你必须等到它被删除,直到你可以重新创建它并上传
aws文档
这是由于fsspec在s3fs上的包装有一个冲突的mk_dir参数。即使在AWS中存在了bucket之后,这也是在尝试创建bucket。
相反,删除了fsspec,直接使用了s3fs模块。
import s3fs
import pickle
file='abc.pkl'
s3=s3fs.S3FileSystem()
with s3.open(f's3:///{bucket_name}/{file}', 'wb') as f:
pickle.dump('data_to_be_written', f)