我已经浏览了GCS客户端库的最新docs并浏览了example。示例代码显示了如何在GCS上即时创建文件/流。
如何可以(允许在发生错误时恢复)将现有文件和目录从本地目录上传到GCS存储桶?使用新的客户端库。 IE,这个(不能发布超过2个链接,所以h77ps://cloud.google.com/storage/docs/gspythonlibrary#uploading-objects)已被弃用。
全部谢谢
P.S 我不需要GAE功能 - 这将是内部部署并上传到GCS
答案 0 :(得分:1)
Python API客户端可以执行可恢复的上载。有关示例,请参阅the documentation。重要的是:
media = MediaFileUpload('pig.png',mimetype ='image / png',resumable = True)
不幸的是,该库本身并未公开上传ID,因此如果出现错误,上传调用将恢复上传,则您的应用无法明确恢复上传。例如,如果您的应用程序已终止,并且您需要在重新启动时恢复上载,则库将无法帮助您。如果您需要该级别的重试,则必须使用其他工具或直接调用httplib。
Boto库以不同的方式完成此任务,并且支持保留可持久的跟踪令牌,以防您的应用崩溃并需要恢复。这是一个快速的例子,从Chromium's system tests被盗:
# Set up other stuff normally
res_upload_handler = ResumableUploadHandler(
tracker_file_name=tracker_file_name, num_retries=3
dst_key.set_contents_from_file(src_file, res_upload_handler=res_upload_handler)
由于您对新的热门感兴趣,用于访问Google云端存储的最新,最棒的Python库可能是APITools,它还提供可恢复的,可恢复的上传,还有examples。< / p>