无法将大文件上传到 Google Cloud Storage

Adi*_*tov 5 python google-cloud-storage google-cloud-platform

处理小文件的时候还可以。仅当我尝试上传大文件时它才起作用。我正在使用Python客户端。片段是:

filename='my_csv.csv'
storage_client = storage.Client()
bucket_name = os.environ["GOOGLE_STORAGE_BUCKET"]
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob("{}".format(filename))
blob.upload_from_filename(filename)  # file size is 500 MB
Run Code Online (Sandbox Code Playgroud)

作为回溯,我得到的唯一结果是“被杀”,而且我已经没有 python 解释器了。

任何建议都会受到高度重视

编辑: 它在本地机器上工作正常。我的应用程序在 Google Container Engine 中运行,因此在 celery 任务中运行时会出现问题。

mep*_*ler 5

upload_by_filename尝试在单个请求中上传整个文件。

您可以使用Blob.chunk_size多个请求来分散上传,每个请求负责上传文件的一个“块”。

例如:

my_blob.chunk_size = 1024 * 1024 * 10


小智 1

尝试分块上传文件。您可以在此处找到示例。(搜索request.next_chunk()