如何解决Google Cloud Storage上文件列表的一致性
我将开发一个在Google Cloud Storage上创建文件并由其他进程读取文件的应用程序。
文件创建可能由于某些原因(例如文件很大)而延迟,并且可能在Cloud Storage上存在不完整的文件(正在进行写入)。
我必须考虑防止读取不完整的文件。但是根据this page,Bucket列表非常一致。新创建的文件可以在创建文件后立即列出。
从上面的文档中,我猜是新创建的文件将不会列出,直到创建完成,而未完成的文件将不会列出。
>我的猜测是真的吗?如果没有,应该如何防止读取不完整的文件?
解决方法
您的猜测是正确的,存储桶中的写入是原子的(当您上传文件时,内容在被推送到存储桶之前会被缓存。)您可以在documentation
中看到它- 写后读(即原子操作,没有瞬态)
因此,您不必担心文件不完整。
,我从互联网上下载了一个大文件(512 MB),然后将其上传到GCS。
我通过使用命令列出存储桶对象(在上传过程中)进行了测试
gsutil ls gs://bucket_name
在上传过程成功之前,未列出新对象。
因此,您的猜测是正确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。